我正在尝试使用分组条制作条形图,但出现此错误:
“高度”必须是向量或矩阵
我不知道为什么。我的代码是...
rebDef=sample(50:100,14,replace=F)
rebOf=sample(20:40, 14, replace=F)
rebTot=sample(70:140, 14, replace=F)
data=data.frame(rebDef,rebOf,rebTot)
v <- c("Equipo A", "Equipo B", "Equipo C", "Equipo D", "Equipo E", "Equipo F", "Equipo G", "Equipo H", "Equipo I", "Equipo J", "Equipo K", "Equipo M", "Equipo N", "Equipo O")
names <- data.frame(v)
rownames(data) <- names[, 1]
barplot(data, beside=T , legend.text=T, col=c("red" , "green", "blue"), ylim=c(0,140), ylab="height")
Run Code Online (Sandbox Code Playgroud)
我从数据中得到的 dput 是......
structure(list(rebDef = c(93L, 59L, 80L, 58L, 71L, 70L, 83L,
77L, 99L, 52L, 84L, 98L, 100L, 86L), rebOf = c(20L, …Run Code Online (Sandbox Code Playgroud) 我无法将颜色图定义为每个条的颜色。我怎样才能做到这一点?我编写了以下代码:
import matplotlib.pyplot as plt
quiz=[1,2,0,4,8,10]
plt.barh(range(len(quiz)), quiz, align='center', alpha=0.5, color='blue')
Run Code Online (Sandbox Code Playgroud)
它有效,但所有条形都只有一种颜色(此处为蓝色)。如何使用颜色图作为颜色?
color=plt.cm.get_cmap('bwr')
Run Code Online (Sandbox Code Playgroud)
给出一个
Error: TypeError: object of type 'ListedColormap' has no len()
Run Code Online (Sandbox Code Playgroud)
编辑:这篇文章给出了一些提示,但没有告诉我如何使颜色渐变对应于 x 值:如何用渐变填充 matplotlib 条?
我尝试在 amcharts 中实现一个带有子类别的聚集条形图(我的 x 轴上有两个级别)。我找不到办法做到这一点。
有谁知道怎么做?
我正在使用https://github.com/danielgindi/Charts

如何隐藏每个栏上显示的值。我的代码如下
func setUpChartView(){
viewGraphContent.delegate = self
viewGraphContent.pinchZoomEnabled = false
viewGraphContent.chartDescription?.enabled = true
viewGraphContent.dragEnabled = false
viewGraphContent.setScaleEnabled(false)
viewGraphContent.highlightFullBarEnabled = true
viewGraphContent.doubleTapToZoomEnabled = false
viewGraphContent.drawBordersEnabled = true
viewGraphContent.borderColor = UIColor.white
viewGraphContent.borderLineWidth = 1
viewGraphContent.legend.enabled = false
}
Run Code Online (Sandbox Code Playgroud) 我需要在直方图中绘制 3 个值。与其他值相比,其中一个值非常大。当我尝试绘制它们时,由于较大的另外两个值没有显示在图中。除了 Python 中的直方图之外,还有什么方法可以用图表来说明它们吗?是否有任何缩放技巧来解决这个问题?
下面给出的代码是我试过的。我使用 python 库 numpy 和 matplotlib 来绘制图形。
import numpy as np
import matplotlib.pyplot as plt
height = [0.422602, 0.000011, 0.000453]
bars = ('2X2', '4X4', '8X8')
y_pos = np.arange(len(bars))
plt.bar(y_pos, height, color = (0.572549,0.2862,0.0,1))
plt.xlabel('Matrix Dimensions')
plt.ylabel('Fidelity for Matrices with Sparsity 1')
plt.xticks(y_pos, bars)
plt.show()
Run Code Online (Sandbox Code Playgroud)
输出是上面包含的图片。此图未描绘其他两列的值。我怎么解决这个问题?
我有一个条形图 (stat=identity) 并且想用 N(每个条的值的数量)标记条。我有正负条的问题。一种解决方案可能是将正条的标签以白色或白色书写,以将它们写在顶部。
ggplot(AP_Group, aes(Labels, Mean))+
geom_bar(stat = "identity") +
theme_minimal() +
ggtitle(expression(paste("Air Pressure - C_PM"[1], " - All Season"))) +
xlab("Air Pressure [hPa]") +
ylab("Shap Value") +
geom_text(aes(label=N), color="black", size=3.5, vjust = 1.8) +
theme(plot.title = element_text(color="black", size=14, margin = margin(t = 0, r = 0, b = 15, l = 0)),
axis.title.x = element_text(color="black", size=14, margin = margin(t = 15, r = 0, b = 0, l = 0)),
axis.title.y = element_text(color="black", size=14, margin = margin(t = …Run Code Online (Sandbox Code Playgroud) 我试图绘制两个因子变量,并在图中用 % 标记结果。
我已经检查了这篇文章和他/她提供的链接:
您在这里看到的 ggplot 行实际上来自推荐的帖子之一:
sex <- c("F","F","M", "M", "M", "F","M","F","F", "M", "M", "M", "M","F","F", "M", "M", "F")
behavior <- c("A", "B", "C", "A", "B", "C", "A", "B", "C", "A", "B", "C", "A", "B", "C", "B", "C", "A")
BehSex <- data.frame(sex, behavior)
ggplot(BehSex, aes(x= factor(sex), fill= factor(behavior), y = (..count..)/sum(..count..)))+
geom_bar() +
stat_bin(geom = "text",
aes(label = paste(round((..count..)/sum(..count..)*100), "%")),
vjust = 5)
Run Code Online (Sandbox Code Playgroud)
但是,当我使用该行时,出现以下错误:
错误:StatBin 需要一个连续的 x 变量:x 变量是离散的。也许你想要 stat="count"?
我尝试在 geom_bar() 中使用 stat="count" 但它似乎没有按预期工作。
三个问题:
1)我做错了什么?
2)我怎样才能绘制出我想要的图? …
我有一个代码示例,使用matplotlib.pyplot.plot()它可以工作,我想复制它以在堆积条形图上制作阴影条形段。但是,我一直在使用pandas.DataFrame.plot()代替制作我的所有其他图形,matplotlib.pyplot.plot()并且也想在这里继续这样做。示例代码返回一个BarContainer对象元组并pandas.DataFrame.plot()返回一个AxisSubplot对象,我不知道如何在两者之间导航。
关于如何取出BarContainer对象pandas.DataFrame.plot()以便我可以使用它们来复制示例的任何建议?
如果没有,关于如何实现我的目标的任何建议,即使用pandas.DataFrame.plot()?
有了我的数据,阴影将有助于区分相似的颜色,因为我有很多类别和项目,否则结果在视觉上看起来很相似。(我知道我也可以找到一种绘制更简单事物的方法,但这样做对我的探索性数据分析很有帮助。)谢谢!
用于填充堆积条形图的每个彩色条形段的示例工作代码(来自此处:https : //matplotlib.org/examples/pylab_examples/hatch_demo.html):
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure()
ax2 = fig.add_subplot(111)
bars = ax2.bar(range(1, 5), range(1, 5), color='yellow', ecolor='black') + \
ax2.bar(range(1, 5), [6] * 4, bottom=range(1, 5), color='green', ecolor='black')
patterns = ('-', '+', 'x', '\\', '*', 'o', 'O', '.')
for bar, pattern in zip(bars, patterns): …Run Code Online (Sandbox Code Playgroud) 当谷歌搜索“水平 gnuplot 条形图”时,我能找到的第一个结果http://www.phyast.pitt.edu/~zov1/gnuplot/html/histogram.html建议旋转(!)最终的条形图,这看起来相当巴洛克. 尽管如此,我尝试了这种方法,但标签被切断了。
reset
$heights << EOD
dad 181
mom 170
son 100
daughter 60
EOD
set yrange [0:*] # start at zero, find max from the data
set boxwidth 0.5 # use a fixed width for boxes
unset key # turn off all titles
set style fill solid # solid color boxes
set colors podo
set xtic rotate by 90 scale 0
unset ytics
set y2tics rotate by 90
plot '$heights' using 0:2:($0+1):xtic(1) with boxes lc …Run Code Online (Sandbox Code Playgroud)