<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>MPAndroidChart &#8211; WANGXUCHAO.CN</title>
	<atom:link href="https://www.wangxuchao.cn/tag/mpandroidchart/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.wangxuchao.cn</link>
	<description></description>
	<lastBuildDate>Fri, 08 Jun 2018 08:07:47 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.3</generator>
	<item>
		<title>MPAndroidChart 3.0.3在设置时间为x轴遇到的一些坑</title>
		<link>https://www.wangxuchao.cn/mpandroidchart-3-0-3%e5%9c%a8%e8%ae%be%e7%bd%ae%e6%97%b6%e9%97%b4%e4%b8%bax%e8%bd%b4%e9%81%87%e5%88%b0%e7%9a%84%e4%b8%80%e4%ba%9b%e5%9d%91/</link>
		
		<dc:creator><![CDATA[wangxuchao]]></dc:creator>
		<pubDate>Fri, 08 Jun 2018 07:10:34 +0000</pubDate>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[MPAndroidChart]]></category>
		<guid isPermaLink="false">http://www.wangxuchao.cn/?p=35</guid>

					<description><![CDATA[1.将时间戳直接放入到List&#60;Entry&#62; entries中，并且设置 entries.add( &#8230; <p class="link-more"><a href="https://www.wangxuchao.cn/mpandroidchart-3-0-3%e5%9c%a8%e8%ae%be%e7%bd%ae%e6%97%b6%e9%97%b4%e4%b8%bax%e8%bd%b4%e9%81%87%e5%88%b0%e7%9a%84%e4%b8%80%e4%ba%9b%e5%9d%91/" class="more-link">继续阅读<span class="screen-reader-text">“MPAndroidChart 3.0.3在设置时间为x轴遇到的一些坑”</span></a></p>]]></description>
										<content:encoded><![CDATA[<p><img fetchpriority="high" decoding="async" class="alignnone size-large wp-image-44" src="http://www.wangxuchao.cn/wp-content/uploads/2018/06/Screenshot_2018-06-08-16-01-36-640_com.tangram.blenfc-1024x576.png" alt="" width="525" height="295" srcset="https://www.wangxuchao.cn/wp-content/uploads/2018/06/Screenshot_2018-06-08-16-01-36-640_com.tangram.blenfc-1024x576.png 1024w, https://www.wangxuchao.cn/wp-content/uploads/2018/06/Screenshot_2018-06-08-16-01-36-640_com.tangram.blenfc-300x169.png 300w, https://www.wangxuchao.cn/wp-content/uploads/2018/06/Screenshot_2018-06-08-16-01-36-640_com.tangram.blenfc-768x432.png 768w, https://www.wangxuchao.cn/wp-content/uploads/2018/06/Screenshot_2018-06-08-16-01-36-640_com.tangram.blenfc.png 1920w" sizes="(max-width: 525px) 100vw, 525px" /></p>
<p>1.将时间戳直接放入到List&lt;Entry&gt; entries中，并且设置</p>
<blockquote><p>entries.add(new Entry(<span style="color: #ff0000;">currTime</span>, floatValue));</p>
<p>xAxis.setGranularity(60f);</p>
<p>xAxis.setValueFormatter(new IAxisValueFormatter() {</p>
<p>private SimpleDateFormat mFormat = new SimpleDateFormat(&#8220;MM-dd HH:mm&#8221;);</p>
<p>@Override<br />
public String getFormattedValue(float value, AxisBase axis) {<br />
long timestamp = (long) (<span style="color: #ff0000;">value</span>*1000l);<br />
return mFormat.format(timestamp);<br />
}<br />
});</p></blockquote>
<p>放大的时候间隔60就不继续放大了，例如<strong>1528250160</strong>（06-06 09:56），<strong>1528250220</strong>（06-06 09:57）&#8230;&#8230;会出现两个点同时显示在一个x轴上的情况<span id="more-35"></span></p>
<p>我的解决方法：取第一个值为基础值，后面的减基础值就得到一个比较小的值，在格式化的时候再把基础值加上</p>
<blockquote><p>entries.add(new Entry(<span style="color: #ff0000;">currTime-firstTime</span>, floatValue));</p>
<p>xAxis.setValueFormatter(new IAxisValueFormatter() {</p>
<p>private SimpleDateFormat mFormat = new SimpleDateFormat(&#8220;MM-dd HH:mm&#8221;);</p>
<p>@Override<br />
public String getFormattedValue(float value, AxisBase axis) {<br />
long timestamp = (long) ((<span style="color: #ff0000;">value+firstTime</span>)*1000l);<br />
return mFormat.format(timestamp);<br />
}<br />
});</p></blockquote>
<p>显示正常了，但是发现x轴两点之间总会少一个点，导致时间隔了一分钟，当我把实际数值显示出来的时候发现原本以为x轴应该是0，60，120，180&#8230;.结果是0，100，200，300&#8230;所以60没显示，显示了120对应的label</p>
<p>解决办法：将x轴上的值再除以60得到0，1，2，3，4&#8230;.这样就没问题了</p>
<blockquote><p>entries.add(new Entry((currTime-firstTime)/60,floatValue));</p>
<p>xAxis.setGranularity(<span style="color: #ff0000;">1f</span>);</p>
<p>xAxis.setValueFormatter(new IAxisValueFormatter() {</p>
<p>private SimpleDateFormat mFormat = new SimpleDateFormat(&#8220;MM-dd HH:mm&#8221;);</p>
<p>@Override<br />
public String getFormattedValue(float value, AxisBase axis) {<br />
long timestamp = (long) ((<span style="color: #ff0000;">value*60+firstTime</span>)*1000l);<br />
return mFormat.format(timestamp);<br />
}<br />
});</p></blockquote>
<p>but,最后并没有解决，经过一番排查之后发现<code>public String getFormattedValue(float value, AxisBase axis)</code> 中的value为float类型，我进行计算 <code>(long) (value*1000l);</code>的时候最后3位数出现了其他的数据，处理方法<code>(long) ((int)value*1000l);</code></p>
<p><img decoding="async" class="alignnone wp-image-43 size-large" src="http://www.wangxuchao.cn/wp-content/uploads/2018/06/Screenshot_2018-06-08-16-02-46-711_com.tangram.blenfc-1024x576.png" alt="" width="525" height="295" srcset="https://www.wangxuchao.cn/wp-content/uploads/2018/06/Screenshot_2018-06-08-16-02-46-711_com.tangram.blenfc-1024x576.png 1024w, https://www.wangxuchao.cn/wp-content/uploads/2018/06/Screenshot_2018-06-08-16-02-46-711_com.tangram.blenfc-300x169.png 300w, https://www.wangxuchao.cn/wp-content/uploads/2018/06/Screenshot_2018-06-08-16-02-46-711_com.tangram.blenfc-768x432.png 768w, https://www.wangxuchao.cn/wp-content/uploads/2018/06/Screenshot_2018-06-08-16-02-46-711_com.tangram.blenfc.png 1920w" sizes="(max-width: 525px) 100vw, 525px" /></p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
