Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 自定义React本机图表工具包的颜色_Javascript_Reactjs_React Native_Charts_React Native Chart Kit - Fatal编程技术网

Javascript 自定义React本机图表工具包的颜色

Javascript 自定义React本机图表工具包的颜色,javascript,reactjs,react-native,charts,react-native-chart-kit,Javascript,Reactjs,React Native,Charts,React Native Chart Kit,已使用React Native chart kit软件包为React Native应用程序创建了一个基本折线图/面积图,如下代码所示 问题:我们如何独立更改绘图组件的样式/颜色?例如点、线笔划、面积、轴、记号标签等 当更改chartConfig中的color参数时,它似乎会影响几乎整个图表,包括轴刻度标签、网格线、线下区域 是否可以为图表的每个单独属性定义颜色 代码: import { LineChart } from 'react-native-chart-kit'; import { Di

已使用
React Native chart kit
软件包为React Native应用程序创建了一个基本折线图/面积图,如下代码所示

问题:我们如何独立更改绘图组件的样式/颜色?例如点、线笔划、面积、轴、记号标签等

当更改
chartConfig
中的
color
参数时,它似乎会影响几乎整个图表,包括轴刻度标签、网格线、线下区域

是否可以为图表的每个单独属性定义颜色

代码:

import { LineChart } from 'react-native-chart-kit';
import { Dimensions} from 'react-native';
const screenWidth = Dimensions.get('window').width

const data = {
labels: ['January', 'February', 'March', 'April', 'May', 'June'],
datasets: [{
    data: [ 20, 45, 28, 80, 99, 43 ],
    color: (opacity = 1) => `rgba(134, 65, 244, ${opacity})`,
    strokeWidth: 2 // optional
}]
}

const chartConfig = {
backgroundGradientFrom: '#fff',
backgroundGradientTo: '#fff',
color: (opacity = 1) => `rgba(63, 143, 244, ${opacity})`,
strokeWidth: 2 // optional, default 3
}

class Test extends Component {
    render() {
        return (
            <LineChart 
                data={data}
                width={screenWidth}
                height={400}
                chartConfig={chartConfig}
            />
        )
    }
}
从'react native chart kit'导入{LineChart};
从“react native”导入{Dimensions};
const screenWidth=Dimensions.get('window').width
常数数据={
标签:[“一月”、“二月”、“三月”、“四月”、“五月”、“六月”],
数据集:[{
数据:[20,45,28,80,99,43],
颜色:(不透明度=1)=>`rgba(134,65,244,${opacity})`,
冲程宽度:2//可选
}]
}
常量chartConfig={
背景梯度来自:“#fff”,
背景梯度至:“#fff”,
颜色:(不透明度=1)=>`rgba(63143244,${opacity})`,
笔划宽度:2//可选,默认为3
}
类测试扩展了组件{
render(){
返回(
)
}
}

以下是我用来创建图表的代码。请参阅“propsForDots”部分以设置数据点的样式

我知道这只是你要求帮助定制的一部分,但这只是一个开始

<LineChart
  data={{
      labels: labelArray,
      datasets: [
          {
              data: valueArray
          }
      ]
  }}
  width={Dimensions.get("window").width} // from react-native
  height={220}
  yAxisInterval={1} // optional, defaults to 1
  chartConfig={{
  backgroundColor: "#444",
  backgroundGradientFrom: '#444',
  backgroundGradientTo: '#444',
  decimalPlaces: 2, // optional, defaults to 2dp
  color: (opacity = 1) => `rgba(0, 110, 199, ${opacity})`,
  labelColor: (opacity = 1) => `rgba(255, 255, 255, ${opacity})`,
  style: {
      borderRadius: 16
  },
  propsForDots: {
      r: "6",
      strokeWidth: "2",
      stroke: "#fff"
  }
  }}
  bezier
  style={{
      marginVertical: 8,
      borderRadius: 16
  }}
/>
`rgba(01110199,${opacity})`,
labelColor:(不透明度=1)=>`rgba(255,255,255,${opacity})`,
风格:{
边界半径:16
},
道具:{
r:“6”,
冲程宽度:“2”,
笔划:“fff”
}
}}
贝塞尔
风格={{
Margin:8,
边界半径:16
}}
/>
在点的道具中,r是点的半径,笔划宽度是边框的大小,笔划是边框的颜色


我还在用这个库做实验,这就是我遇到这个问题的原因。希望这能帮助您和其他可能正在搜索相同内容的人。

对于点颜色,我们可以使用getDotColor道具,通过它,我们可以编辑每个点并为每个点定义颜色

getDotColor定义点颜色函数,用于计算折线图中点的颜色并获取(数据点、数据点索引)


你有没有发现是否有可能设计出单个点的样式?@Peru jansson还没有!
getDotColor={(dataPoint, dataPointIndex) => {
console.log('dataPoint ---->', dataPoint);
console.log('dataPointIndex --->', dataPointIndex);
//based on condition we return the color as string
if (dataPointIndex === 0) return 'red';
}}