使用 Plotly 定义饼图切片颜色
Defining pie chart slice colors with Plotly
我正在尝试为某些 values/slices 创建特定的颜色,但找不到太多关于它的文档。我知道条形图等是可能的,甚至 Javascript 中的饼图也是可能的,并且他们的示例之一有颜色选项,但修改它对我没有任何作用。
这是我的:
pie_chart = {
'data':
[
{ 'labels': ['V0', 'V1', 'V2', 'V3', 'V4', 'V5', 'V6', 'V7', 'V8', 'V9'],
'values': [v0, v1, v2, v3, v4, v5, v6, v7, v8, v9],
'marker': {'colors': [
'rgb(0, 204, 0)', # Green
'rgb(255, 255, 0)', # Yellow
'rgb(118, 17, 195)', # Purple
'rgb(0, 48, 240)' # Blue
'rgb(240, 88, 0)' # Orange
'rgb(215, 11, 11)' # Red
'rgb(11, 133, 215)' # Light Blue
'rgb(0, 0, 0)' # Black
'rgb(0, 0, 0)'
'rgb(0, 0, 0)'
]
},
'type': 'pie',
'name': "Gym grades",
'hoverinfo':'label+percent+name',
'textinfo':'none'
}
],
'layout': {'title': 'Grades in gym'}
}
url = py.plot(pie_chart, validate=False, filename='Gym Grades')
问题:颜色没有改变('marker' 无效)
问题:是否有其他方法可以修改颜色
问题可能是默认情况下所有值 v0、v1、... 都按降序排列,因此最大值排在第一位。它们按 "applying" 颜色排序。因此,根据您的颜色定义,值 #4 为蓝色,可能不会排在第四位。
解决方案是手动排序您的数据,然后使用 sort 属性关闭自动排序。
Plotly 在隐藏错误和自动补全缺失颜色方面做得很好。在彩色饼图的工作示例下方,几乎没有遗漏逗号。
正如 Meglio 提供的那样,sort
属性可以设置为 false,但这只会改变图例和图表的顺序。颜色由数组的顺序设置。
pie_chart = {
'data': [{
'labels': ['V0', 'V1', 'V2', 'V3', 'V4', 'V5', 'V6', 'V7', 'V8', 'V9'],
'values': [55, 22, 31, 32, 33, 45, 44, 42, 12, 67],
'marker': {
'colors': [
'rgb(0, 204, 0)',
'rgb(255, 255, 0)',
'rgb(118, 17, 195)',
'rgb(0, 48, 240)',
'rgb(240, 88, 0)',
'rgb(215, 11, 11)',
'rgb(11, 133, 215)',
'rgb(0, 0, 0)',
'rgb(0, 0, 0)',
'rgb(0, 0, 0)'
]
},
'type': 'pie',
'name': "Gym grades",
'hoverinfo': 'label+percent+name',
'sort': false,
}],
'layout': {
'title': 'Grades in gym'
}
}
Plotly.newPlot('plot', pie_chart.data, pie_chart.layout);
<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
<div id="plot"> </div>
我正在尝试为某些 values/slices 创建特定的颜色,但找不到太多关于它的文档。我知道条形图等是可能的,甚至 Javascript 中的饼图也是可能的,并且他们的示例之一有颜色选项,但修改它对我没有任何作用。
这是我的:
pie_chart = {
'data':
[
{ 'labels': ['V0', 'V1', 'V2', 'V3', 'V4', 'V5', 'V6', 'V7', 'V8', 'V9'],
'values': [v0, v1, v2, v3, v4, v5, v6, v7, v8, v9],
'marker': {'colors': [
'rgb(0, 204, 0)', # Green
'rgb(255, 255, 0)', # Yellow
'rgb(118, 17, 195)', # Purple
'rgb(0, 48, 240)' # Blue
'rgb(240, 88, 0)' # Orange
'rgb(215, 11, 11)' # Red
'rgb(11, 133, 215)' # Light Blue
'rgb(0, 0, 0)' # Black
'rgb(0, 0, 0)'
'rgb(0, 0, 0)'
]
},
'type': 'pie',
'name': "Gym grades",
'hoverinfo':'label+percent+name',
'textinfo':'none'
}
],
'layout': {'title': 'Grades in gym'}
}
url = py.plot(pie_chart, validate=False, filename='Gym Grades')
问题:颜色没有改变('marker' 无效)
问题:是否有其他方法可以修改颜色
问题可能是默认情况下所有值 v0、v1、... 都按降序排列,因此最大值排在第一位。它们按 "applying" 颜色排序。因此,根据您的颜色定义,值 #4 为蓝色,可能不会排在第四位。
解决方案是手动排序您的数据,然后使用 sort 属性关闭自动排序。
Plotly 在隐藏错误和自动补全缺失颜色方面做得很好。在彩色饼图的工作示例下方,几乎没有遗漏逗号。
正如 Meglio 提供的那样,sort
属性可以设置为 false,但这只会改变图例和图表的顺序。颜色由数组的顺序设置。
pie_chart = {
'data': [{
'labels': ['V0', 'V1', 'V2', 'V3', 'V4', 'V5', 'V6', 'V7', 'V8', 'V9'],
'values': [55, 22, 31, 32, 33, 45, 44, 42, 12, 67],
'marker': {
'colors': [
'rgb(0, 204, 0)',
'rgb(255, 255, 0)',
'rgb(118, 17, 195)',
'rgb(0, 48, 240)',
'rgb(240, 88, 0)',
'rgb(215, 11, 11)',
'rgb(11, 133, 215)',
'rgb(0, 0, 0)',
'rgb(0, 0, 0)',
'rgb(0, 0, 0)'
]
},
'type': 'pie',
'name': "Gym grades",
'hoverinfo': 'label+percent+name',
'sort': false,
}],
'layout': {
'title': 'Grades in gym'
}
}
Plotly.newPlot('plot', pie_chart.data, pie_chart.layout);
<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
<div id="plot"> </div>