Android Chart框架 MPAndroidChart學習筆記11_圖表的設(shè)置和樣式

Android Chart框架 MPAndroidChart學習筆記11_圖表的設(shè)置和樣式


源碼demo看這里

這里是項目源碼

1.刷新圖表

  • invalidate():用來刷新圖表

  • notifyDataSetChanged():圖表底層數(shù)據(jù)變化之后調(diào)用此方法進行刷新

2.Logging

調(diào)用setLogEnabled(boolean enabled)方法傳入True可以設(shè)置圖標logcat輸出渡紫,但是考慮到性能我們一般不設(shè)置

3.一般圖標設(shè)置

  • setBackgroundColor(int color)設(shè)置圖標背景顏色到推,當然也可以在xml文件中設(shè)置。
/* @描述 圖表的基本設(shè)置 */
private void setGeneralStyling(BarChart chart) {
    //設(shè)置背景
    chart.setBackgroundColor(getResources().getColor(R.color.colorPrimary));
}
設(shè)置背景
  • setDescription(Description desc)設(shè)置chart描述:
//設(shè)置圖表右下角出現(xiàn)的說明文本,以及說明文本的基本設(shè)置惕澎。
//初始化一個Description對象
Description desc=new Description();
//設(shè)置文本內(nèi)容
desc.setText(getString(R.string.desc));
//設(shè)置文本大小
desc.setTextSize(20f);
//設(shè)置文本顏色
desc.setTextColor(Color.WHITE);
//設(shè)置文本位置莉测,文本右上角相對于(0,0)的坐標位置
desc.setPosition(400f,400f);
//引入說明文本
chart.setDescription(desc);
設(shè)置說明文本
  • setNoDataText(String text)設(shè)置沒有數(shù)據(jù)時候顯示的文本:

      //設(shè)置圖表數(shù)據(jù)為空時候的文本
      chart.setNoDataText(getString(R.string.Nodata));
    
設(shè)置圖表數(shù)據(jù)為空時候的文本
  • 設(shè)置網(wǎng)格背景:
//是否繪制圖表背景的網(wǎng)格(開關(guān)唧喉,如果設(shè)置為false那么網(wǎng)格設(shè)置都失效)
chart.setDrawGridBackground(true);
//設(shè)置網(wǎng)格背景顏色
chart.setGridBackgroundColor(Color.YELLOW);
  • 設(shè)置邊框
//設(shè)置邊框開關(guān)
chart.setDrawBorders(true);
//設(shè)置邊框顏色
chart.setBorderColor(Color.CYAN);
//設(shè)置邊框?qū)挾?chart.setBorderWidth(20f);
  • 設(shè)置圖表上最大可見繪制值標簽的數(shù)目
//設(shè)置圖表上最大可見繪制值標簽的數(shù)目捣卤。這只需要影響setdrawvalues()時啟用。
chart.setMaxVisibleValueCount(30);

4.特殊圖標樣式設(shè)置

Line-, Bar-, Scatter-, Candle- & BubbleChart

  • setAutoScaleMinMaxEnabled(boolean enabled)如果設(shè)置為true八孝,自動去匹配chart數(shù)據(jù)的最小值與最大值董朝,默認為false
  • setKeepPositionOnRotation(boolean enabled)設(shè)置為true那么圖標在放大之后無法進行拖拽,默認為false
//用來描述Y軸的顯示干跛,如果設(shè)置為true子姜,那么Y軸會顯示X變化范圍內(nèi)Y值最大的變化范圍
chart.setAutoScaleMinMaxEnabled(false);
//設(shè)置為true那么圖標在放大之后無法進行拖拽,默認為false楼入。
chart.setKeepPositionOnRotation(false);

BarChart

  • setDrawValueAboveBar(boolean enabled)如果設(shè)置為true闲询,那么所有的值都會顯示在bar的上方,而不是在頂部浅辙。
    -setDrawBarShadow(boolean enabled)是否顯示bar后方的一個陰影,以降低40%的性能阎姥?
//默認在bar的頂部记舆,設(shè)置為true之后就會顯示在bar上方
chart.setDrawValueAboveBar(true);
//是否顯示bar后方的一個陰影,以降低40%的性能?
chart.setDrawBarShadow(false);
setDrawValueAboveBar

PieChart

//設(shè)置餅快的標簽
mChart.setDrawSliceText(true);
//設(shè)置為true,那么餅塊的內(nèi)容會按照相應(yīng)數(shù)據(jù)的百分比顯示袱饭,否則顯示實際值
mChart.setUsePercentValues(false);
//設(shè)置中心文字
mChart.setCenterText(getString(R.string.centerText));
//可以理解為設(shè)置中心文字的區(qū)域?qū)挾认崞瘢绻淖殖^寬度會進行換行
// 實際計算為內(nèi)徑的按照百分比縮小后作為中心文字區(qū)域的寬度
mChart.setCenterTextRadiusPercent(20f);
//可以理解為設(shè)置內(nèi)徑
mChart.setHoleRadius(40f);
//設(shè)置半透明圈的半徑
mChart.setTransparentCircleRadius(50f);
//設(shè)置半透明圈的顏色
mChart.setTransparentCircleColor(getResources().getColor(R.color.colorPrimary));
//設(shè)置半透明圈的透明度[0~255]
mChart.setTransparentCircleAlpha(99);
//設(shè)置餅圖的最大角度:默認為360°
mChart.setMaxAngle(90f);

當然你如果想要也可以這樣:

//設(shè)置餅快的標簽
mChart.setDrawSliceText(true);
//設(shè)置為true,那么餅塊的內(nèi)容會按照相應(yīng)數(shù)據(jù)的百分比顯示栋盹,否則顯示實際值
mChart.setUsePercentValues(false);
//設(shè)置中心文字
//mChart.setCenterText(getString(R.string.centerText));
//可以理解為設(shè)置中心文字的區(qū)域?qū)挾龋绻淖殖^寬度會進行換行
// 實際計算為內(nèi)徑的按照百分比縮小后作為中心文字區(qū)域的寬度
mChart.setCenterTextRadiusPercent(50f);
//可以理解為設(shè)置內(nèi)徑
mChart.setHoleRadius(10f);
//設(shè)置半透明圈的半徑
mChart.setTransparentCircleRadius(10f);
//設(shè)置半透明圈的顏色
mChart.setTransparentCircleColor(getResources().getColor(R.color.colorPrimary));
//設(shè)置半透明圈的透明度[0~255]
mChart.setTransparentCircleAlpha(99);
//設(shè)置餅圖的最大角度:默認為360°
mChart.setMaxAngle(120f);
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市碧磅,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖鲸郊,帶你破解...
    沈念sama閱讀 219,188評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件丰榴,死亡現(xiàn)場離奇詭異,居然都是意外死亡秆撮,警方通過查閱死者的電腦和手機四濒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來职辨,“玉大人盗蟆,你說我怎么就攤上這事∈婵悖” “怎么了喳资?”我有些...
    開封第一講書人閱讀 165,562評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長惭每。 經(jīng)常有香客問我骨饿,道長,這世上最難降的妖魔是什么台腥? 我笑而不...
    開封第一講書人閱讀 58,893評論 1 295
  • 正文 為了忘掉前任宏赘,我火速辦了婚禮,結(jié)果婚禮上黎侈,老公的妹妹穿的比我還像新娘察署。我一直安慰自己,他們只是感情好峻汉,可當我...
    茶點故事閱讀 67,917評論 6 392
  • 文/花漫 我一把揭開白布贴汪。 她就那樣靜靜地躺著,像睡著了一般休吠。 火紅的嫁衣襯著肌膚如雪扳埂。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,708評論 1 305
  • 那天瘤礁,我揣著相機與錄音阳懂,去河邊找鬼。 笑死柜思,一個胖子當著我的面吹牛岩调,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播赡盘,決...
    沈念sama閱讀 40,430評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼号枕,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了陨享?” 一聲冷哼從身側(cè)響起葱淳,我...
    開封第一講書人閱讀 39,342評論 0 276
  • 序言:老撾萬榮一對情侶失蹤钝腺,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后蛙紫,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體拍屑,經(jīng)...
    沈念sama閱讀 45,801評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,976評論 3 337
  • 正文 我和宋清朗相戀三年坑傅,在試婚紗的時候發(fā)現(xiàn)自己被綠了僵驰。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,115評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡唁毒,死狀恐怖蒜茴,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情浆西,我是刑警寧澤粉私,帶...
    沈念sama閱讀 35,804評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站近零,受9級特大地震影響诺核,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜久信,卻給世界環(huán)境...
    茶點故事閱讀 41,458評論 3 331
  • 文/蒙蒙 一窖杀、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧裙士,春花似錦入客、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,008評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至啃炸,卻和暖如春铆隘,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背南用。 一陣腳步聲響...
    開封第一講書人閱讀 33,135評論 1 272
  • 我被黑心中介騙來泰國打工咖驮, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人训枢。 一個月前我還...
    沈念sama閱讀 48,365評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像忘巧,于是被迫代替她去往敵國和親恒界。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,055評論 2 355

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

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理砚嘴,服務(wù)發(fā)現(xiàn)十酣,斷路器涩拙,智...
    卡卡羅2017閱讀 134,664評論 18 139
  • 內(nèi)容抽屜菜單ListViewWebViewSwitchButton按鈕點贊按鈕進度條TabLayout圖標下拉刷新...
    皇小弟閱讀 46,767評論 22 665
  • MPAndroidChart是一款基于Android的開源圖表庫,MPAndroidChart不僅可以在Andro...
    Code4Android閱讀 23,588評論 23 66
  • 那里有間小酒館 墻壁上寫滿詩和遠方 有個孤獨的孩子在唱 你是我心愛的姑娘 那里的夜晚沒有燈光 只有滿天繁星和月亮 ...
    秀道lee閱讀 171評論 0 4
  • 那年輟學耸采,我以為您會打我兴泥, 可是您沒有。 那年相親虾宇,我百般刁難搓彻,我以為您會罵我, 可是您沒有嘱朽。 那年您生病旭贬,我沒去...
    天使嘟嘟閱讀 131評論 0 0