My Project
|
ترسیم نمودارهای خطی و ستونی با امکان فیلترهاگذاری More...
#include <chartviewhelper.h>
Public Member Functions | |
ChartViewHelper () | |
سازنده پیشفرض کلاس | |
void | PlotChart (QFrame *chartFrame_input, const QList< int > &DataForPlotIs) |
نمایش دادهها ورودی | |
void | plotChartWithMinFilter (QFrame *chartFrame, const QList< int > &data, int minValue, int minColor) |
فیلترپایین گذر برای داهها | |
void | plotChartWithMaxFilter (QFrame *chartFrame, const QList< int > &data, int maxValue, int maxColor) |
فیلتربالا گذر برای داهها | |
void | plotChartWithMin_and_MaxFilter (QFrame *chartFrame, const QList< int > &data, int minValue, int minColor, int maxValue, int maxColor) |
همزمان فیلتر پایینگذر و بالاگذر |
Public Attributes | |
QList< QColor > | colorsFor_colorCombo_IS = { Qt::red, Qt::green, Qt::blue, Qt::yellow, Qt::gray } |
لیست رنگهای قابل انتخاب | |
char | mode = 'L' |
حالت ترسیم نمودار |
Private Member Functions | |
void | setupChartAppearance (QChart *chart, QFrame *chartFrame) |
تنظیم ظاهر و ویژگیهای پایه نمودار | |
int | find_data_conect (int curentindex, QList< int > data, int treshould) |
یافتن اولین دادهای که از آستانه عبور کرده است | |
float | findX (float x0, float y0, float x1, float y1, float Y) |
محاسبه محل تقاطع | |
void | appendMaskedSeriesByLowerBound (QList< float > &HitLine_X, QList< float > &X_low, QList< int > &Y_low, QLineSeries *upperMask, QLineSeries *lowMask, int Threshold_min) |
ساخت سریهای کران بالا و کران پایین برای حساب کردن مساحت فیلترشده | |
void | _plotChartWithMinFilter_BarChar (QChart *chart_input, const QList< int > &DataForPlotIs, int low_bound, int low_colorCode) |
فیلتر پایین گذر برای حالت گسسته | |
void | _plotChartWithMinFilter_LineChar (QChart *chart_input, const QList< int > &DataForPlotIs, int low_bound, int low_colorCode) |
فیلتر پایین گذر برای حالت پیوسته | |
void | appendMaskedSeriesByUpperBound (QList< float > &HitLine_X, QList< float > &X_low, QList< int > &Y_low, QLineSeries *upperMask, QLineSeries *lowMask, int Threshold_max) |
ساخت سریهای کران بالا و کران پایین برای حساب کردن مساحت فیلترشده | |
void | _plotChartWithMaxFilter_BarChar (QChart *chart_input, const QList< int > &DataForPlotIs, int Up_bound, int Up_colorCode) |
فیلتر بالا گذر برای حالت گسسته | |
void | _plotChartWithMaxFilter_LineChar (QChart *chart_input, const QList< int > &DataForPlotIs, int Up_bound, int Up_colorCode) |
فیلتر بالا گذر برای حالت پیوسته | |
void | _plotChartWithMin_and_MaxFilte_BarChar (QChart *chart_input, const QList< int > &DataForPlotIs, int low_bound, int low_colorCode, int Up_bound, int Up_colorCode) |
فیلتر بالا گذر و پایین گذر برای حالت گسسته | |
void | _plotChartWithMin_and_MaxFilte_LineChar (QChart *chart_input, const QList< int > &DataForPlotIs, int low_bound, int low_colorCode, int Up_bound, int Up_colorCode) |
فیلتر بالا گذر و پایین گذر برای حالت پیوسته |
ترسیم نمودارهای خطی و ستونی با امکان فیلترهاگذاری
این کلاس مجموعهای از توابع برای رسم نمودارها را فراهم میکند
که دو مدل رسم نموداد (پیوسته و گسسته ) را پشتیبانی میکند
امکان فیلترگذاری هم به شکل کمینه، هم به شکل بیشینه، و هم بهصورت همزمان هر دو حالت وجود دارد
|
private |
فیلتر بالا گذر برای حالت گسسته
همانند فیلتر پایین گذر است با این تفاوت که دادههای بزرگتر یا مساوی مدنظر است
|
private |
فیلتر بالا گذر برای حالت پیوسته
همانند فیلتر پایین گذر است با این تفاوت که دادههای بزرگتر یا مساوی مدنظر است
|
private |
فیلتر بالا گذر و پایین گذر برای حالت گسسته
این تابع امکان اعمال همزمان فیلتر پایینگذر و بالاگذر را فراهم میکند
در واقع، این تابع ترکیبی از اجرای همزمان فیلتر پایینگذر و بالاگذر است که بر روی دادهها پیادهسازی شدهاست
chart_input | دادهها در این شی نمایش داده میشوند |
DataForPlotIs | دادههای ورودی |
low_bound | کران پایین |
low_colorCode | کد رنگ کران پایین |
Up_bound | کران بالا |
Up_colorCode | کد رنگ کران بالا |
|
private |
فیلتر بالا گذر و پایین گذر برای حالت پیوسته
این تابع امکان اعمال همزمان فیلتر پایینگذر و بالاگذر را فراهم میکند
در واقع، این تابع ترکیبی از اجرای همزمان فیلتر پایینگذر و بالاگذر است که بر روی دادهها پیادهسازی شدهاست
chart_input | دادهها در این شی نمایش داده میشوند |
DataForPlotIs | دادههای ورودی |
low_bound | کران پایین |
low_colorCode | کد رنگ کران پایین |
Up_bound | کران بالا |
Up_colorCode | کد رنگ کران بالا |
|
private |
فیلتر پایین گذر برای حالت گسسته
دادههای ورودی که از مقدار آستانه کمتر یا مساوی باشد
آن ستون را به کد رنگ مشخص شده تغییر رنگ میدهد
chart_input | دادهها در این شی نمایش داده میشوند |
DataForPlotIs | دادههای ورودی |
low_bound | کران پایین |
low_colorCode | کد رنگ کران پایین |
|
private |
فیلتر پایین گذر برای حالت پیوسته
دادههای ورودی که از مقدار آستانه کمتر یا مساوی باشد
مساحت آن ناحیه را تعییر رنگ میدهد به رنگ دلخواه
chart_input | دادهها در این شی نمایش داده میشوند |
DataForPlotIs | دادههای ورودی |
low_bound | کران پایین |
low_colorCode | کد رنگ کران پایین |
|
private |
ساخت سریهای کران بالا و کران پایین برای حساب کردن مساحت فیلترشده
پس از مشخص شدن نقاط تقاطع خط فیلتر با نمودار
و مشخص شدن دادههایی که از خط فیلتر کم تر است
باید دادهها را به ترتیب در سریها قراردیم تا برای مرحله نمایش دادهها آمادهشدهباشند
HitLine_X | نقاطی که نمودار با خط فیلتر برخورد کردند |
X_low | نقاطی از نمدار که انداز آنها از فیلتر کوچکتر است |
Y_low | مقادیر حاصل از |
upperMask | خروجی |
lowMask | خروجی |
Threshold_min | مقدار فیلتر |
|
private |
ساخت سریهای کران بالا و کران پایین برای حساب کردن مساحت فیلترشده
همانند فیلتر پایین گذر است با این تفاوت که دادههای بزرگتر یا مساوی مدنظر است
|
private |
یافتن اولین دادهای که از آستانه عبور کرده است
curentindex | اندیس شروع |
data | لیست دادهها |
treshould | مقدار آستانه |
|
private |
محاسبه محل تقاطع
x0 | نقطه اول |
y0 | نقطه اول |
x1 | نقطه دوم |
y1 | نقطه دوم |
Y | خط ثابت فیلتذر مد نظر |
void ChartViewHelper::PlotChart | ( | QFrame * | chartFrame_input, |
const QList< int > & | DataForPlotIs ) |
نمایش دادهها ورودی
براساس مد موجود دادههای ورودی را نمایش میدهد
chartFrame_input | چارتی که دادهها در آن ذخیره میشود |
DataForPlotIs | دادههای برای نمایش |
void ChartViewHelper::plotChartWithMaxFilter | ( | QFrame * | chartFrame, |
const QList< int > & | data, | ||
int | maxValue, | ||
int | maxColor ) |
فیلتربالا گذر برای داهها
با توجه به مد انتخاب شده فیلتربالا گذر برای حالت پیوسته یا گسسته نمایش داده میشود
chartFrame | فریمی که دادهها در آن نمایش داده میشود |
data | دادههای برای نمایش |
maxValue | کران بالا |
maxColor | کد رنگ انتخاب شده برای فیلتر |
void ChartViewHelper::plotChartWithMin_and_MaxFilter | ( | QFrame * | chartFrame, |
const QList< int > & | data, | ||
int | minValue, | ||
int | minColor, | ||
int | maxValue, | ||
int | maxColor ) |
همزمان فیلتر پایینگذر و بالاگذر
با توجه به مد انتخاب شده فیلتربالا گذر و پایین گذر برای حالت پیوسته یا گسسته نمایش داده میشود
chartFrame | فریمی که دادهها در آن نمایش داده میشود |
data | دادههای برای نمایش |
minValue | کران پایین |
minColor | کد رنگ انتخاب شده برای فیلتر |
maxValue | کران بالا |
maxColor | کد رنگ انتخاب شده برای فیلتر |
void ChartViewHelper::plotChartWithMinFilter | ( | QFrame * | chartFrame, |
const QList< int > & | data, | ||
int | minValue, | ||
int | minColor ) |
فیلترپایین گذر برای داهها
با توجه به مد انتخاب شده فیلترپایین گذر برای حالت پیوسته یا گسسته نمایش داده میشود
chartFrame | فریمی که دادهها در آن نمایش داده میشود |
data | دادههای برای نمایش |
minValue | کران پایین |
minColor | کد رنگ انتخاب شده برای فیلتر |
|
private |
تنظیم ظاهر و ویژگیهای پایه نمودار
chart | شی برای اعمال تنظیمات |
chartFrame | قاب نمایش نمودار در رابط گرافیکی |
QList<QColor> ChartViewHelper::colorsFor_colorCombo_IS = { Qt::red, Qt::green, Qt::blue, Qt::yellow, Qt::gray } |
لیست رنگهای قابل انتخاب
براساس این لیست آیتمهای مربعی برای انتخاب رنگ فیلترها استفادهمیشود
char ChartViewHelper::mode = 'L' |
حالت ترسیم نمودار
مقادیر ممکن: