LineChart使用

基本概念理解


圖表中各元素跟LineChart中對象的對應(yīng)關(guān)系:
圖表:LineChart
圖例:Legend
描述:Description
數(shù)據(jù)軸:
????X軸:XAxis
????Y軸(左側(cè)找田、右側(cè)):YAxis
????數(shù)據(jù)軸標(biāo)簽
????刻線(X軸刻線思恐、Y軸刻線)
數(shù)據(jù):LineData
????數(shù)據(jù)集:LineDataSet
????高亮線
數(shù)據(jù)標(biāo)記:MarkerView

靜態(tài)結(jié)構(gòu)


????LineChart對象中存儲了圖例、描述助泽、數(shù)據(jù)軸、數(shù)據(jù)等繪制圖表所需的數(shù)據(jù),并在內(nèi)部創(chuàng)建對象的renderer對象。在onDraw方法中磁携,分別調(diào)用各種renderer對象進(jìn)行圖表中各元素的繪制。

常用屬性設(shè)置

圖表:LineChart

        lineChart.setDrawBorders(true); //顯示圖表邊框
        // lineChart.setBorderColor(Color.BLACK); //設(shè)置 chart 邊框線的顏色良风。
        // lineChart.setBorderWidth(2); //設(shè)置 chart 邊界線的寬度,單位 dp闷供。
        lineChart.setExtraOffsets(0, 0, 0, 10);//設(shè)置圖表距離上下左右的距離
        lineChart.zoom(1f, 1f, 0, 0);//顯示的時候是按照多大的比率縮放顯示,1f表示不放大縮小
        lineChart.setScaleMinima(1f, 1f);
        lineChart.setVisibleXRangeMaximum(30);
        lineChart.setDrawGridBackground(false);//chart 繪圖區(qū)后面的背景矩形將繪制
        // 圖表交互
        lineChart.setTouchEnabled(true); // 設(shè)置是否可以觸摸
        lineChart.setScaleEnabled(false); // 是否可以縮放 x和y軸, 默認(rèn)為true
        // lineChart.setScaleXEnabled(true); //是否可以縮放 僅x軸
        // lineChart.setScaleYEnabled(true); //是否可以縮放 僅y軸
        // lineChart.setPinchZoom(true);  // 是否支持x烟央、y軸同時縮放,默認(rèn)為false
        // lineChart.setDoubleTapToZoomEnabled(true); // 設(shè)置是否可以通過雙擊屏幕放大圖表歪脏。默認(rèn)為true
        lineChart.setDragEnabled(true); // 是否可以拖拽
        lineChart.setHighlightPerDragEnabled(true); // 能否拖拽高亮線(數(shù)據(jù)點(diǎn)與坐標(biāo)的提示線)疑俭,默認(rèn)為true
        lineChart.setDragDecelerationEnabled(true); // 拖拽滾動時,手放開是否會持續(xù)滾動婿失,默認(rèn)為true(false:拖到哪是哪钞艇,true:停止拖拽之后還會有緩沖)
        lineChart.setDragDecelerationFrictionCoef(0.99f); // 與上面那個屬性配合,持續(xù)滾動時的速度快慢豪硅,[0,1) 0代表立即停止哩照。
        lineChart.setNoDataText("沒有數(shù)據(jù)嗷"); //沒有數(shù)據(jù)時顯示的文字
        lineChart.setNoDataTextColor(Color.BLUE);//沒有數(shù)據(jù)時顯示文字的顏色
        lineChart.setLogEnabled(true);//打印日志
//        lineChart.animateXY(1000,1000); // 兩個軸動畫,從左到右懒浮,從下到上

圖例:Legend

        legend.setForm(Legend.LegendForm.LINE); // 設(shè)置form的形狀飘弧,正方形、圓形砚著、線性
        legend.setFormSize(10f); // 設(shè)置Form的大小
        legend.setFormLineWidth(10f); // 設(shè)置form的寬度
        legend.setTextSize(16f); // 設(shè)置文字大小
        legend.setVerticalAlignment(Legend.LegendVerticalAlignment.BOTTOM);//顯示位置
        legend.setHorizontalAlignment(Legend.LegendHorizontalAlignment.LEFT);
        legend.setOrientation(Legend.LegendOrientation.HORIZONTAL);
        legend.setDrawInside(false);
        legend.setWordWrapEnabled(true);//是否支持自動換行

數(shù)據(jù)集:LineDataSet

        lineDataSet.setLineWidth(1.5f); //設(shè)置線的寬度
        lineDataSet.setValueTextSize(9f);//設(shè)置顯示值的文字大小
        lineDataSet.setColor(color); //設(shè)置線的顏色
        lineDataSet.setCircleRadius(1.5f); //設(shè)置焦點(diǎn)圓心的大小
        lineDataSet.setCircleColor(color); // 設(shè)置焦點(diǎn)圓心的顏色
        lineDataSet.setMode(LineDataSet.Mode.HORIZONTAL_BEZIER);
        lineDataSet.setAxisDependency(YAxis.AxisDependency.LEFT);
        // 設(shè)置點(diǎn)擊交叉線
        lineDataSet.setHighlightEnabled(true);//是否禁用點(diǎn)擊高亮線
        lineDataSet.setHighLightColor(Color.RED);//設(shè)置點(diǎn)擊交點(diǎn)后顯示交高亮線的顏色
        lineDataSet.enableDashedHighlightLine(10f, 5f, 0f);//點(diǎn)擊后的高亮線的顯示樣式
        lineDataSet.setHighlightLineWidth(1f);//設(shè)置點(diǎn)擊交點(diǎn)后顯示高亮線寬
        // 設(shè)置曲線下面的填充色
        lineDataSet.setDrawFilled(false);
        // lineDataSet.setFillAlpha(0);
        // lineDataSet.setFillColor(color);

數(shù)據(jù)軸

        // 設(shè)置左側(cè)坐標(biāo)軸
        xAxis.setEnabled(true);//設(shè)置軸啟用或禁用 如果禁用以下的設(shè)置全部不生效
        xAxis.setPosition(XAxis.XAxisPosition.BOTTOM);//設(shè)置x軸的顯示位置
        // 設(shè)置軸線屬性
        xAxis.setDrawAxisLine(true);//是否繪制軸線
        // xAxis.setAxisLineColor(Color.GREEN);//設(shè)置x軸線顏色
        // xAxis.setAxisLineWidth(5f);//設(shè)置x軸線寬度
        // 設(shè)置標(biāo)簽屬性
        xAxis.setDrawLabels(true);//是否繪制軸線上的標(biāo)簽
        xAxis.setTextSize(16);// 設(shè)置軸標(biāo)簽字體大小
        // xAxis.setTextColor(Color.BLUE);//設(shè)置軸標(biāo)簽的字體顏色
        xAxis.setLabelCount(dataXList.size()); // 設(shè)置x軸顯示標(biāo)簽數(shù)量
        // xAxis.setAxisMinimum(0f);//設(shè)置x軸的最小值
        // xAxis.setAxisMaximum(10f);//設(shè)置最大值
        xAxis.setAvoidFirstLastClipping(true);//圖表將避免第一個和最后一個標(biāo)簽條目被減掉在圖表或屏幕的邊緣
        xAxis.setLabelRotationAngle(10f);//設(shè)置x軸標(biāo)簽的旋轉(zhuǎn)角度
        // 設(shè)置網(wǎng)格線屬性
        xAxis.setDrawGridLines(false);//設(shè)置x軸上每個點(diǎn)對應(yīng)的線
        // xAxis.setGridLineWidth(2f);//設(shè)置豎線寬度
        // xAxis.setGridColor(Color.RED);//設(shè)置豎線顏色
        // xAxis.enableGridDashedLine(10f, 10f, 0f); //設(shè)置豎線的顯示樣式為虛線(lineLength控制虛線段的長度次伶,spaceLength控制線之間的空間)
        xAxis.setGranularity(1f);
        xAxis.setValueFormatter(null);
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市稽穆,隨后出現(xiàn)的幾起案子冠王,更是在濱河造成了極大的恐慌,老刑警劉巖舌镶,帶你破解...
    沈念sama閱讀 216,496評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件柱彻,死亡現(xiàn)場離奇詭異,居然都是意外死亡餐胀,警方通過查閱死者的電腦和手機(jī)绒疗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來骂澄,“玉大人吓蘑,你說我怎么就攤上這事。” “怎么了磨镶?”我有些...
    開封第一講書人閱讀 162,632評論 0 353
  • 文/不壞的土叔 我叫張陵溃蔫,是天一觀的道長。 經(jīng)常有香客問我琳猫,道長伟叛,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,180評論 1 292
  • 正文 為了忘掉前任脐嫂,我火速辦了婚禮统刮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘账千。我一直安慰自己侥蒙,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,198評論 6 388
  • 文/花漫 我一把揭開白布匀奏。 她就那樣靜靜地躺著鞭衩,像睡著了一般。 火紅的嫁衣襯著肌膚如雪娃善。 梳的紋絲不亂的頭發(fā)上论衍,一...
    開封第一講書人閱讀 51,165評論 1 299
  • 那天,我揣著相機(jī)與錄音聚磺,去河邊找鬼坯台。 笑死,一個胖子當(dāng)著我的面吹牛瘫寝,可吹牛的內(nèi)容都是我干的捂人。 我是一名探鬼主播,決...
    沈念sama閱讀 40,052評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼矢沿,長吁一口氣:“原來是場噩夢啊……” “哼滥搭!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起捣鲸,我...
    開封第一講書人閱讀 38,910評論 0 274
  • 序言:老撾萬榮一對情侶失蹤瑟匆,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后栽惶,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體愁溜,經(jīng)...
    沈念sama閱讀 45,324評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,542評論 2 332
  • 正文 我和宋清朗相戀三年外厂,在試婚紗的時候發(fā)現(xiàn)自己被綠了冕象。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,711評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡汁蝶,死狀恐怖渐扮,靈堂內(nèi)的尸體忽然破棺而出论悴,到底是詐尸還是另有隱情,我是刑警寧澤墓律,帶...
    沈念sama閱讀 35,424評論 5 343
  • 正文 年R本政府宣布膀估,位于F島的核電站,受9級特大地震影響耻讽,放射性物質(zhì)發(fā)生泄漏察纯。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,017評論 3 326
  • 文/蒙蒙 一针肥、第九天 我趴在偏房一處隱蔽的房頂上張望饼记。 院中可真熱鬧,春花似錦慰枕、人聲如沸具则。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至崇裁,卻和暖如春匕坯,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背拔稳。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評論 1 269
  • 我被黑心中介騙來泰國打工葛峻, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人巴比。 一個月前我還...
    沈念sama閱讀 47,722評論 2 368
  • 正文 我出身青樓术奖,卻偏偏與公主長得像,于是被迫代替她去往敵國和親轻绞。 傳聞我的和親對象是個殘疾皇子采记,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,611評論 2 353

推薦閱讀更多精彩內(nèi)容

  • 圖表控件庫 MPAndroidChart 的使用 使用方法 項(xiàng)目源碼地址,包含了很多類型的圖標(biāo) https://g...
    jinchuang閱讀 817評論 0 0
  • This chapter covers the basic setup for using this librar...
    ngugg閱讀 997評論 0 1
  • 一政勃、首先描述控件大致的使用流程: 1.構(gòu)建EntryList 一個List集合包含了一條曲線上的所有數(shù)據(jù),Entr...
    M_jj閱讀 2,780評論 0 1
  • 最新項(xiàng)目當(dāng)中使用到了MPAndroidChart這個三方庫用來繪制相關(guān)的圖標(biāo).該庫能力確實(shí)十分強(qiáng)大,但是使用過程中...
    So_Why閱讀 4,315評論 0 6
  • Charts是一套非常漂亮的開源圖表組件唧龄,它是MPAndroidChart在蘋果端的移植版本,同時支持iOS/tv...
    清蘂翅膀的技術(shù)閱讀 17,065評論 4 11