我正在使用ggplot绘制直方图,其中x变量是分类变量,我想更改x轴刻度标签。这是我的代码:
from pandas import *
from ggplot import *
df = pandas.read_csv('C:\Users\...csv')
def plot_data(df):
plot = ggplot(data_by_group, aes('x', 'y')) +
geom_histogram(stat='bar') + ggtitle('title') +
xlab('x-label') + ylab('y-label')
#x_ticklabels = ['a', 'b', 'c']
return plot
我想在x轴上使用x_ticklabels而不是分类变量中的数字。
关于如何做到这一点的任何想法?
谢谢
答案 0 :(得分:2)
有一个很好的例子here(在"设置刻度线标签"),显示如何执行此操作。 简而言之,给定一个ggplot" bp",您可以通过为数据中的每个类别设置标签来控制实际的刻度标签,如下所示:
bp + scale_x_discrete(breaks=c("ctrl", "trt1", "trt2"),
labels=c("Control", "Treat 1", "Treat 2"))
所以在你的情况下,我会想你会按照
的方式做点什么plot = ggplot(data_by_group, aes('x', 'y')) +
geom_histogram(stat='bar') + ggtitle('title') +
xlab('x-label') + ylab('y-label') +
scale_x_discrete(breaks=c(1, 2, 3),
labels=c("a", "b", "c"))
答案 1 :(得分:0)
按如下所示更改MeloMCR的答案以使其起作用:
do shell script "PATH=" & quoted form of "/usr/local/bin:$PATH" & " bitbar refresh"
到
plot = ggplot(data_by_group, aes('x', 'y')) +
geom_histogram(stat='bar') + ggtitle('title') +
xlab('x-label') + ylab('y-label') +
scale_x_discrete(breaks=c(1, 2, 3),
labels=c("a", "b", "c"))
列规范(c(a1,a2,a3,....)无法通过python识别。