我必须在一个图中绘制两个不同的数据集.
数据集-1
String[] xAxisOne = new String[] {
"0", "1", "2", "3", "4", "5", "6"
};
float[] dataInput = {
1f, 2f, 3f, 4f, 5f, 6f, 7f
};
Run Code Online (Sandbox Code Playgroud)
数据集-2
String[] xAxisTwo = new String[] {
"0", "2", "4", "5", "6", "8", "9"
};
float[] dataIn = {
3f, 4f, 5f, 6f, 7f, 8f, 9f
};
Run Code Online (Sandbox Code Playgroud)
在上面的数据中,DataSet-1是创建图表的参考.DataSet-2必须与不同的X值集{xAxisTwo}一起绘制.
在现有的实现中,前6个值{dataInput}被绘制,接下来的6个值{dataIn}被参考xAxisOne,如何根据需要绘制.
我正在开发一个Android项目,我正在尝试从https://github.com/PhilJay/MPAndroidChart实现名为MPAndroidChart的库.
我试图在一个片段中实现它,但我一直收到错误,我不明白为什么.
以下是我的活动.
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
Fragment chartFragment = new ChartFragment();
transaction.replace(R.id.fragmentContainer, chartFragment);
transaction.commit();
}
}
Run Code Online (Sandbox Code Playgroud)
下面是我的活动布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<include layout="@layout/toolbar" />
<FrameLayout android:id="@+id/fragmentContainer"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
下面是我的Fragment类
public class ChartFragment extends Fragment
{
private LineChart mChart;
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.graph, container, false);
return v;
}
}
Run Code Online (Sandbox Code Playgroud)
下面是片段的布局
<?xml version="1.0" …Run Code Online (Sandbox Code Playgroud) 我有两个线图,显示同一时间段内的补充数据.有没有办法将一张图表收到的任何触摸事件发送给另一张图表?我基本上想要它,以便图形始终显示相同的查看矩形(至少在水平方向上).因此,如果用户在顶部图表上向左滑动"n"个单位,则底部图表将自动向左滚动"n"个单位以匹配.
当我创建堆积条形图时,条形图的值会写在其条形图的顶部.可以在条形图的中间写下这些值吗?
是)我有的 :
4
_
| |
| |
| |
Run Code Online (Sandbox Code Playgroud)
我想要的是 :
_
| |
|4|
| |
Run Code Online (Sandbox Code Playgroud) 我似乎无法BarChart在MPAndroidChart中在水平方向上启用填充...就像在下面的屏幕截图中...单词评论被切断..即使在平板电脑,两个方向等

我使用MPAndroidChart RadarChart.
我想减少图体和数据描述之间的空间.(见下图.)

我应该使用哪种MPAndroidChart方法?
所以我希望能够在条形图中选择一个条形,当我选择一个条形时,它会改变条形的颜色(我知道该怎么做),还可以改变相应x轴标签的颜色.有没有办法做到这一点,如果是这样,有人可以帮我吗?
我正在使用库MPAndroidChart但它没有开箱即用的所有功能.
我听说可以通过编写自定义渲染器来实现我想要的功能.
我查看了MPAndroidChart GitHub仓库中渲染器的源代码,但我无法理解所涉及的概念.
MPAndroidChart渲染器如何工作?
编写自定义渲染器的高级过程是什么?
注意:对于在mpandroidchart上发布的许多问题,解决方案是实现某种自定义渲染器.如果没有指南,对"你可以通过编写自定义渲染器来解决这个问题"这样的问题的评论是不满意的.编写包含完整解决方案的答案可能非常耗时.没有现成的编写自定义渲染器的指南,希望这个问题可以作为提问者能够帮助自己的实用工具,如果不是重复的目标.虽然我在这里尝试了自己的答案,但欢迎其他答案,更正和评论.
这是参考文章:https://github.com/PhilJay/MPAndroidChart/wiki/Setting borrow标题栏图.在下面的给定代码中:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_graph_test, container, false);
BarChart chart = view.findViewById(R.id.bar_Chart_test);
List<BarEntry> entries = new ArrayList<>();
entries.add(new BarEntry(0f, 30f));
entries.add(new BarEntry(1f, 80f));
entries.add(new BarEntry(2f, 60f));
entries.add(new BarEntry(3f, 50f));
// gap of 2f
entries.add(new BarEntry(5f, 70f));
entries.add(new BarEntry(6f, 60f));
BarDataSet set = new BarDataSet(entries, "BarDataSet");
BarData data = new BarData(set);
data.setBarWidth(0.9f); // set custom bar width
chart.setData(data);
chart.setFitBars(true); // make the x-axis fit exactly all …Run Code Online (Sandbox Code Playgroud)