有没有办法将自定义模式放在imshow图上的选定区域?确切地说,我需要做到这一点,除了带有数字数据的彩色方块之外,我在其他方块中也有不同的模式,表明实验的不同故障模式(并且还生成一个解释这些模式的含义的关键)不同的模式).可能有用的模式的示例是各种类型的交叉阴影线.我需要能够在不中断图表上的主要颜色数值数据关系的情况下执行此操作.
以下是我尝试使用答案中建议的代码.如果我评论错误部分,只要没有来自掩蔽的数据,imshow就会显示白色空间.我甚至没有尝试针对不同的故障类型执行不同类型的交叉影线,或者处理模拟或实验工作但另一个尚未完成的情况.
EDIT3:我从多处理包中收到关于它如何"不能腌制"对象的错误按摩.由于程序,这是它的一部分通过多处理包.任何方法来解决这个问题或没有add_patches(下面建议的绘图方法不起作用,因为绘图发生在一个完全不同的坐标系上并绘制连接线)?
import numpy as np
import matplotlib.patches as patches
...
grid = np.ma.array(grid, mask=np.isnan(grid))
plot.imshow(grid, interpolation='nearest', aspect='equal', vmax = private.vmax, vmin = private.vmin)
if show_fail and faildat != []:
faildat = faildat[np.lexsort((faildat[:,yind],faildat[:,xind]))]
fails = []
for i in range(len(faildat)):
fails.append((faildat[i,1],faildat[i,0]))
for F in fails:
p = patches.Rectangle(F,1,1,hatch='/',fill=False)
plot.add_patch(p)
plot.minorticks_off()
plot.set_xticks(range(len(placex)))
plot.set_yticks(range(len(placey)))
plot.set_xticklabels(placex)
plot.set_yticklabels(placey, rotation = 0)
plot.colorbar()
plot.show()
Run Code Online (Sandbox Code Playgroud) 我试图将我的直接标签稍微向左移动,不是一组而是所有组。默认情况下 dl.move 一次只移动一组。
library(directlabels)
library(ggplot2)
count <- c(1,5,6,7,8,8)
year <- c(rep(c(2000,2001,2002),2))
group <- c(rep("A",3),rep("B",3))
c <- data.frame(year,count,group)
p <- ggplot(c, aes(x=year, y=count, colour=group)) + geom_line()
direct.label(p, "first.points")
Run Code Online (Sandbox Code Playgroud)
我可以移动一点...
kif <- dl.move("A", hjust=2, vjust=0)
direct.label(p, list("first.points",kif))
Run Code Online (Sandbox Code Playgroud)
但理想情况下,我只想以相同的方式将整个事情移到 a 上。我完全错过了一些愚蠢的语法吗?
我正在开发XNA中的应用程序,它绘制随机路径.不幸的是,我与图形失去联系,所以我有点卡住了.我的应用程序需要执行以下操作:
(请原谅我可怕的照片)
alt text http://www.refuctored.com/coor.png
(16,16)处的第二个圆圈表示距离我的原点16个像素的45度角.
我想有一种方法,我传递我的距离和角度,返回一个点到图.即
private Point GetCoordinate(float angle, int distance)
{
// Do something.
return new Point(x,y);
}
Run Code Online (Sandbox Code Playgroud)
我知道这很简单,但是agian,我与图形很不相干.有帮助吗?
谢谢,乔治
我想在Tcl/Tk中做简单的图形例程,如散点图,xy图,直方图.我使用的是Tcl/Tk 8.5.7.我发现在Tcler的维基中,很少有选项如BLT在Tcl/Tk 8.5+中不受支持
是否有任何Tcl/Tk接口gnuplot或任何小部件来完成图形化?
请告诉我Tcl/Tk中图形例程的选择.
我遇到了一个具有挑战性的问题,并希望得到一些建议.我有活动数据,我想以图形方式显示,我正在寻找可用于解决我的问题的包或程序(最好是R).
数据是Activity每小时()收集的运动计数(Time of day)持续3周(Calendar Date)或更多与相关变量(Food/ Vegetation).
通常情况下,正如我所知,数据可以在一个名为Clocklab的程序中处理和绘制,这是一个Matlab产品.然而,增加的复杂性是希望根据饲喂组的分类绘制该数据.我试图在R中找到一个公平的程序/包,但是已经很短了.
数据看起来很简单:
Activity time of day Food type Calendar Date
0 01:00 B 03/24/2007
13 02:00 --- 03/24/2007
0 03:00 B 03/24/2007
0 04:00 B 03/24/2007
: : : :
1246 18:00 C 03/24/2007
3423 19:00 C 03/24/2007
: : : :
0 00:00 --- 03/25/2007
Run Code Online (Sandbox Code Playgroud)
这个数据是昼夜节律,循环,活动预算,我希望有一个可能是3-D的图表,它将显示饮食选择以及与该饮食相关的多少活动随着时间的推移绘制多天/周.我会通过个人然后在人口水平上做到这一点.我已经通过程序Clocklab通常生成的程序和示例图的链接.
我有一个需要图形数据的项目(使用Python).rrdtool似乎几乎完全符合我的要求 - 除了它只支持1秒的分辨率,我的数据点更接近.
GNUPlot看起来像野兽.我还没有挖掘它,但是粗略地看一眼,它似乎更适合于绘制表达式而不是快速学习的东西.
是否有另一个(希望相对容易使用)图形系统量身定制或易于适应图形时间序列?如果没有比GNUplot更好的东西了,我会开始深入研究它 - 我只是想确定没有其他我应该考虑的东西.
我想在我的Windows窗体中停靠一个OxyPlot图并绘制函数图y = 2x - 7.我已经下载了OxyPlot并添加了对我项目的引用.我使用以下代码将绘图添加到我的表单:
public partial class GraphForm : Form
{
public OxyPlot.WindowsForms.Plot Plot;
public Graph()
{
InitializeComponent();
Plot = new OxyPlot.WindowsForms.Plot();
Plot.Model = new PlotModel();
Plot.Dock = DockStyle.Fill;
this.Controls.Add(Plot);
Plot.Model.PlotType = PlotType.XY;
Plot.Model.Background = OxyColor.FromRgb(255, 255, 255);
Plot.Model.TextColor = OxyColor.FromRgb(0, 0, 0);
}
}
Run Code Online (Sandbox Code Playgroud)
使用此代码,我看到白色背景,控件已创建,但它只是一个白色背景.我环顾了OxyPlot.Plot班上的成员,但我找不到办法来解决问题.如何在图表中绘制方程式?
可能重复:
如何使用R创建分组条形图
Species Dbh Height
1 DF 383.7143 254.3036
2 ES 403.3333 280.0000
3 F 372.0000 270.0000
4 FG 381.5000 275.0000
5 GF 351.5838 242.6522
6 HW 209.0000 198.0000
7 LP 232.8571 218.3333
8 PP 568.5000 330.0000
9 SF 136.4286 154.1000
10 WC 375.0757 234.8777
11 WL 340.0588 252.5714
12 WP 319.7273 251.3939
Run Code Online (Sandbox Code Playgroud)
我想把上面的数据变成像这样的条形图.物种为垃圾箱和dbh,高度为每个垃圾箱的条形.

我用过代码:
aggregate(ufc[,4:5],ufc[3],mean,na.rm=TRUE)
Run Code Online (Sandbox Code Playgroud)
获取上述数据集
我只能使用以下代码一次获取一个变量:
barplot(ufc.means$Height, col=rainbow(20),
names.arg=(ufc.means$Species), las=2,main="Height")
Run Code Online (Sandbox Code Playgroud) 我有一个在0和1之间交替的值列表,例如[0,1,0,1,0],我想绘制它们,因此它们使用matplotlib for python显示为方波.到目前为止我有这个:
input_amp = [1,0,1,0,1,0,1,0,1,0]
plt.plot(input_amp, marker='d', color='blue')
plt.title("Waveform")
plt.ylabel('Amplitude')
plt.xlabel("Time")
plt.savefig("waveform.png")
plt.show()
Run Code Online (Sandbox Code Playgroud)
这给了我这样的输出
:
我怎么做到这一点而不是在线保持平坦的点之间的角度?
我找到了这篇文章,但它更多地涉及动画而不仅仅是绘制函数.
我正在使用ggplot2创建一个带有散点图叠加的分组箱图.我想将每个散点图数据点与它对应的分组框图进行分组.
但是,我也喜欢散点图是不同的符号.我似乎能够将我的散点图分组与我的分组箱图分组,或者将我的散点图点指向不同的符号......但不能同时进行.下面是一些示例代码,用于说明发生的情况:
library(scales)
library(ggplot2)
# Generates Data frame to plot
Gene <- c(rep("GeneA",24),rep("GeneB",24),rep("GeneC",24),rep("GeneD",24),rep("GeneE",24))
Clone <- c(rep(c("D1","D2","D3","D4","D5","D6"),20))
variable <- c(rep(c(rep("Day10",6),rep("Day20",6),rep("Day30",6),rep("Day40",6)),5))
value <- c(rnorm(24, mean = 0.5, sd = 0.5),rnorm(24, mean = 10, sd = 8),rnorm(24, mean = 1000, sd = 900),
rnorm(24, mean = 25000, sd = 9000), rnorm(24, mean = 8000, sd = 3000))
value <- sqrt(value*value)
Tdata <- cbind(Gene, Clone, variable)
Tdata <- data.frame(Tdata)
Tdata <- cbind(Tdata,value)
# Creates the Plot of All Data
# The below code groups …Run Code Online (Sandbox Code Playgroud)