当我在y轴上只显示一个间隔时,我想在屏幕上看到x轴.当间隔从0显示时,x轴是可见的,所以我认为我应该使用yRange向上移动x轴,但我不确切知道如何做到这一点.
这是我设置xRange和yRange的部分.对于y轴,我搜索我想要显示的最小值和最大值.
CPTMutablePlotRange *xRange = [plotSpace.xRange mutableCopy];
[xRange expandRangeByFactor:CPTDecimalFromCGFloat(1.1f)];
plotSpace.xRange = xRange;
//CPTMutablePlotRange *yRange = [plotSpace.yRange mutableCopy];
//[yRange expandRangeByFactor:CPTDecimalFromCGFloat(1.2f)];
//plotSpace.yRange = yRange;
cpd = [CPDStockPriceStore sharedInstance];
NSMutableArray *arr = cpd.prices;
minY = 10000;
maxY = 0;
for (unsigned i = 1; i < [arr count]; i++){
if([[arr objectAtIndex:i] intValue] < minY) minY = [[arr objectAtIndex:i]intValue];
if([[arr objectAtIndex:i] intValue] > maxY) maxY = [[arr objectAtIndex:i]intValue];
}
CGFloat yMin = 100*((minY-200)/100);
CGFloat yMax = 100*((maxY+200)/100); // should determine dynamically based on max …Run Code Online (Sandbox Code Playgroud) 编辑:原始问题中的代码是指过期的Bokeh版本.但是下面的答案已经更新,以回答现代版Bokeh的相同问题
from bokeh.plotting import *
from bokeh.objects import *
output_notebook()
label = ['United States', 'Russia', 'South Africa', 'Europe (average)', 'Canada', 'Austalia', 'Japan']
number = [1, 2, 3, 4, 5, 6, 7]
value = [700, 530, 400, 150, 125, 125, 75]
yr = Range1d(start=0, end=800)
figure(y_range=yr)
rect(number, [x/2 for x in value] , width=0.5, height=value, color = "#ff1200")
show()
Run Code Online (Sandbox Code Playgroud)
我想用条形图中的区域标记条形Bokeh Plot.如何绘制带有类(名义或序数)的图表?请参阅示例http://en.wikipedia.org/wiki/File:Incarceration_Rates_Worldwide_ZP.svg.
注意:我正在使用Python v.2.7.6和IPython v.1.2.1.
我有一个数据框如下:
Name,Tutor,Test,Score,Percent,school.year
Mark,Eric,Maths,100,100,2
Mark,Eric,English,91,91,2
Sue,Richard,Maths,88,100,5
Sue,Richard,English,71,80.7,5
Run Code Online (Sandbox Code Playgroud)
我想在 y 轴上绘制百分比,在 x 轴上绘制每个测试的条形图。我的代码按照我想要的方式进行绘图,但 x 轴标签只是名称。我想在 x 轴中添加其他变量(仅添加到标签)。因此,例如标记有 2 个小节;数学 1 分,英语 1 分,他的 xaxis 标签上还标有“标记”“\n”“埃里克”,这样我们就可以知道是谁辅导了他。如果可能,我想添加几个额外的标签,例如学年。到目前为止,我的代码如下;
results <- read.csv('results.csv')
p <- ggplot(results, aes(y=Percent, x=Name, colour=Test, fill=Test)) +
geom_bar(stat='identity', position='dodge') +
ggtitle('Test Results') +
ylab('Percent')
Run Code Online (Sandbox Code Playgroud)
我可以将单个变量绘制为 x 轴标签,例如:
+scale_x_discrete(labels = results$Score)
Run Code Online (Sandbox Code Playgroud)
或者手动更改(虽然顺序有问题);
scale_x_discrete(labels = c('Mark \n Eric','Sue \n Richard', etc))
有没有办法将其他变量添加到 x 标签,最好是换行?非常感谢
我正在尝试更改a中的x轴matplot,但此命令不起作用:
TimePoints=1997:2011
matplot(t(DataMatrix),type='l',col="black",lwd=1,xlab="Anni",ylab="Rifiuti",main="Produzione rifiuti")
axis(side=1,at=TimePoints,labels=TimePoints)
Run Code Online (Sandbox Code Playgroud)
用plot我用这个没有问题.我该如何解决?在这里您可以找到对象:https://dl.dropboxusercontent.com/u/47720440/SOF.RData
我有这个代码:
# Plotting everything
plot( p1, col= "lightgreen", xlim=c(-2.5,4.5), ylim=c(0, 700), main="Daily Total Precipitation for AR and Oct-May", xlab="ln(x)" , ylab="Frequency", xaxt = "n") # first histogram
plot( p2, col="red", xlim=c(-2.5,4.5), ylim=c(0, 700), xaxt = "n" , add=T)
# Adding in text labels on top of the bars
text(x, y, paste(round(percents,2),"%"), cex=0.50, pos=3, offset=0.3, col="black")
axis(side=1, at=breaks) # new x-axis
# parameter that needs to be set to add a new graph on top of the other ones
par(new=T)
plot(x, …Run Code Online (Sandbox Code Playgroud) 是否可以旋转子午线标签以使它们不再重叠?有关下面的示例,请参见图像.我不想减少子午线的数量.
我试过了:
ax = plt.gca()
ax.set_xticklabels( meridians, rotation=45 )
Run Code Online (Sandbox Code Playgroud)
但是这在底图中没有做任何事情.

我正在尝试旋转 Y 轴的标题,使其水平。我不希望刻度标签水平只是 Y 轴的标题。我必须使用子图,因为我一次制作多个图。这是我尝试旋转 Y 轴标题的以下脚本。
import matplotlib.pyplot as plt
import sys
fig, ax = plt.subplots()
ax.set_title(r'$\alpha$ > \beta_i$', fontsize=20)
ax.set(xlabel='meters $10^1$', ylabel=r'Hertz $(\frac{1}{s})$')
ax.set(xlabel=r's(t) = \mathcal(A)\/\sin(2 \omega t)', ylabel=r'Hertz $(\frac{1}{s})$')
ax.set(ylabel="North $\uparrow$",fontsize=9,rotate=90)
plt.show()
Run Code Online (Sandbox Code Playgroud)
当我运行它时,我收到一个错误:
类型错误:没有 AxesSubplot 属性“旋转”
如何调整此程序以使 Y 轴水平旋转?
我是matlpotlib的新手,我发现滴滴定位器和标签令人困惑,所以请耐心等待.我发誓我已经谷歌搜索了几个小时.
我有一个像这样的数据帧'框架'(相关列):
dayofweek sla
weekday
Mon 1 0.889734
Tue 2 0.895131
Wed 3 0.879747
Thu 4 0.935000
Fri 5 0.967742
Sat 6 0.852941
Sun 7 1.000000
Run Code Online (Sandbox Code Playgroud)
其中工作日名称是索引,工作日编号是列.此框架中没有日期时间对象.
我把它变成了一个plt.figure
fig=plt.figure(figsize=(7,5))
ax=plt.subplot(111)
Run Code Online (Sandbox Code Playgroud)
我需要将我的x轴作为数值,因为我想稍后添加一个散点图,这对于字符串值是不可能的.
x_=frame.dayofweek.values
anbar=ax.bar(x_,y_an,width=0.8,color=an_c,label='angekommen')
Run Code Online (Sandbox Code Playgroud)
所以基本上我希望我的xticks成为'dayofweek'列,它们的标签是相应的索引.现在,如果我手动set_xticklabels
ax.set_xticklabels(frame.index)
Run Code Online (Sandbox Code Playgroud)
标签从轴上的位置0开始.
我可以通过重新排列标签列表来解决这个问题,但是应该有一种"正确"的方式来使用Locators或Formatter,但是(见上文)这对我来说非常困惑.有人能指出我如何使标签与他们的索引相对应吗?
这里的新手用户,请客气和温柔!:)
我正在处理以下数据集和R脚本:
#Create pvalue ranges
pvalue <- c(".000 - .005",".005 - .010",".010 - .015",".015 - .020",".020 - .025",".025 - .030",".030 - .035",".035 - .040",".040 - .045",".045 - .050")
#Create frequency counts
count <- c(5000,4000,3100,2540,2390,2260,2150,2075,2050,2025)
dat <- data.frame(pvalue = pvalue, count = count)
#Create plot
myPlot <- ggplot(data=dat, aes(x=pvalue, y=count, group=1)) +
geom_line() +
geom_point() +
geom_vline(xintercept=which(dat$pvalue == '.045 - .050'), linetype = "dashed") +
theme_bw() +
theme(axis.text.x = element_text(angle=90),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_blank()) +
theme(panel.border …Run Code Online (Sandbox Code Playgroud)