q1 <- qplot(factor(Q1), data=survey, geom="histogram", fill=factor(Q1), ylim=c(0,300))
options(digits=2)
q1 + geom_bar(colour="black") +
stat_bin(aes(label=..count..), vjust=-2, geom="text", position="identity") +
stat_bin(geom="text", aes(label=paste(..count../sum(..count..)*100,"%"), vjust=-0.75)) +
labs(x="Question # 1:\n 0 = Didn't respond, 1 = Not at all familiar, 5 = Very familiar") +
opts(title="Histogram of Question # 1:\nHow familiar are you with the term 'Biobased Products'?",
legend.position = "none",
plot.title = theme_text(size = 16, , vjust = 1, face = "bold"),
axis.title.x =theme_text(size=14), axis.text.x=theme_text(size=12),
axis.title.y=theme_text(size=14, angle=90), axis.text.y=theme_text(size=12))
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,我得到的数字超过了所需的数字,我希望选项(数字= 2)可以做到,但我猜不是.有任何想法吗?
我有一个成对分组的垂直条形图.我试图玩弄如何水平翻转它.在我的例子中,关键字将出现在y轴上,并且比例将出现在x轴上.
我尝试切换各种x/y变量,但这当然只是产生了时髦的结果.我需要关注哪些代码区域才能将其从垂直条切换到水平条?
var xScale = d3.scale.ordinal()
.domain(d3.range(dataset.length))
.rangeRoundBands([0, w], 0.05);
// ternary operator to determine if global or local has a larger scale
var yScale = d3.scale.linear()
.domain([0, d3.max(dataset, function (d) {
return (d.local > d.global) ? d.local : d.global;
})])
.range([h, 0]);
var xAxis = d3.svg.axis()
.scale(xScale)
.tickFormat(function (d) {
return dataset[d].keyword;
})
.orient("bottom");
var yAxis = d3.svg.axis()
.scale(yScale)
.orient("left")
.ticks(5);
var commaFormat = d3.format(',');
//SVG element
var svg = d3.select("#searchVolume")
.append("svg")
.attr("width", w + …Run Code Online (Sandbox Code Playgroud) 我想用pandas绘制一个不同颜色的条形图,用于列中的类别.
这是一个简单的例子:(索引是可变的)
df:
value group
variable
a 10 1
b 9 1
c 8 1
d 7 2
f 6 2
g 5 3
h 4 3
Run Code Online (Sandbox Code Playgroud)
我想制作一个带有着色组的条形图.我还想指定颜色.在我的原始数据集中,我有很多goups.有人可以帮我吗?
我的数据如下:
m=pd.DataFrame({'model':['1','1','2','2','13','13'],'rate':randn(6)},index=['0', '0','1','1','2','2'])
Run Code Online (Sandbox Code Playgroud)
我希望在[1,2,13]中排序因子图的x轴,但默认值为[1,13,2].
有谁知道如何改变它?
更新:我想我已经通过以下方式解决了这个问题,但也许有一种更好的方法可以使用索引来做到这一点?
sns.factorplot('model','rate',data=m,kind="bar",x_order=['1','2','13'])
Run Code Online (Sandbox Code Playgroud) 我使用MPAndroidChart创建了一个BarChart,我正在动态输入数据.这意味着我还需要动态确定Y轴.我的所有数据都表示为整数,但Y轴有时会将图例显示为带小数点1的十进制值.
我试图使用ValueFormatter来舍入值,但问题是有时Y值不在整数值位置(例如0.8,1.6,2.4等).因此,如果我只是将它们编辑为整数,则它们将不在正确的位置.
无论如何,我是否可以强制BarChart仅在Integer位置显示值?它可以跳过一些,实际上我希望它在值变大时.
编辑:当我说整数不在正确的位置时,我的意思是,一旦我修改了每个标签显示的内容,它们就不是'正确'.在我的例子中,我有5个条显示值3,4,2,3,2.第一个图像是'默认',第二个是我使用以下编辑值格式化程序后的图像:
myBarChart.getYLabels().setFormatter(new ValueFormatter()
{
@Override
public String getFormattedValue(float v)
{
return ((int) v)+"";
}
});
Run Code Online (Sandbox Code Playgroud)

正如我们从这些图像中看到的,我的整数值不是它们应该的位置(并且有两个'2').在这个例子中我除了显示值0,1,2,3,4.如果我有更多的数据,我希望它足够智能,只显示我有空间的值,所以例如,如果数据包含0-50的值,它将显示类似0,10,20,30 ,40,50或可能0,15,30,45等
我怎样才能使线条var x = d3.scale.ordinal().rangeRoundBands([0, width], .05);从这个例子中使用D3 V4工作d3.scaleBand?
有没有办法从连续数据分组到预定义的时间间隔创建条形图?例如,
In[1]: df
Out[1]:
0 0.729630
1 0.699620
2 0.710526
3 0.000000
4 0.831325
5 0.945312
6 0.665428
7 0.871845
8 0.848148
9 0.262500
10 0.694030
11 0.503759
12 0.985437
13 0.576271
14 0.819742
15 0.957627
16 0.814394
17 0.944649
18 0.911111
19 0.113333
20 0.585821
21 0.930131
22 0.347222
23 0.000000
24 0.987805
25 0.950570
26 0.341317
27 0.192771
28 0.320988
29 0.513834
231 0.342541
232 0.866279
233 0.900000
234 0.615385
235 0.880597
236 0.620690
237 0.984375
238 0.171429 …Run Code Online (Sandbox Code Playgroud) 我有一个条形图代码片段如下所示.当你运行它时,你会得到4个条形,第一个条纹靠y轴.是否可以在y轴和第一个条形图之间留一些空隙?
def plot_graph1():
xvals = range(4)
xnames=["one","two","three","four"]
yvals = [10,30,40,20]
width = 0.25
yinterval = 10
figure = plt.figure()
plt.grid(True)
plt.xlabel('x vals')
plt.ylabel('y vals')
plt.bar(xvals, yvals, width=width)
plt.xticks([ x+(width/2) for x in xvals],[x for x in xnames])
plt.yticks(range(0,max(yvals),yinterval))
figure.savefig("barchart.png",format="png")
plt.show()
if __name__=='__main__':
plot_graph1()
Run Code Online (Sandbox Code Playgroud)
输出如下

任何帮助赞赏
谢谢
标记
我想在ggplot中只为一个条形颜色.这是我的数据框:
area <- c("Pó?noc", "Po?udnie", "Wschód", "Zachód")
sale <- c(16.5, 13.5, 14, 13)
df.sale <- data.frame(area, sale)
colnames(df.sale) <- c("Obszar sprzeda?y", "Liczba sprzedanych produktów (w tys.)")
Run Code Online (Sandbox Code Playgroud)
和绘图代码:
plot.sale.bad <- ggplot(data=df.sale, aes(x=area, y=sale, fill=area)) +
geom_bar(stat="identity") +
scale_fill_manual(values=c("black", "red", "black", "black")) +
xlab(colnames(df.sale)[1]) +
ylab(colnames(df.sale)[2]) +
ggtitle("Porównanie sprzeda?y")
Run Code Online (Sandbox Code Playgroud)
我想只有一个彩色条和另外3个有默认颜色(暗灰色,不是黑色,对我来说看起来很糟糕).如何更改仅在条形图上的颜色或如何获取条形图的默认颜色名称而不是黑色?
我在"经济学人"的网站上看到了这些图片,并想知道是否有可能制作出一个geom_bar()嵌入这种说明性图标的图片?(下面的虚拟数据)

虚拟数据,
require(ggplot2)
# Generate data
df3 <- data.frame(units = c(1.3, 1.8, 2.7, 4.2, 4.7, 6.7, 20),
what = c('Wikipedia', 'London Olympic Park', 'Aircraft carrier',
'The Great Pyramid', 'Stonehenge', 'Burj Khalifas',
'Empire State Building'))
# make gs an ordered factor
df3$what <- factor(df3$what, levels = df3$what, ordered = TRUE)
#plots
ggplot(df3, aes(what, units)) + geom_bar(fill="white", colour="darkgreen",
alpha=0.5, stat="identity") + coord_flip() + scale_x_discrete() +
scale_y_continuous(breaks=seq(0, 20, 2)) + theme_bw() +
theme(axis.title.x = element_blank(), axis.title.y …Run Code Online (Sandbox Code Playgroud)