我创建了一个小型Flask应用程序,用于在本地计算机上处理和显示本地消费数据.我的Flask应用程序处理子文件夹中的数据,然后打开一个网页以显示已处理的数据.除了不提供图像外,一切看起来都很棒.例如,生成的HTMl源将具有以下内容:
<img src="/Users/username/Desktop/datafolder/pics/pic1.png" alt="pic1">
Run Code Online (Sandbox Code Playgroud)
但是没有图像.路径是正确的,所以我猜测它与图像传递或未传递给Flask的方式有关render_template
.也许有一种方法来指定我在django帖子中看到的媒体目录?
关于我如何能够包含图像的任何建议都将非常受欢迎.
最好的问候,zach cp
编辑:如答案和注释中所述,所有静态文件必须位于指定的静态目录中.我使用"file://"构造触发浏览器给出错误消息:
"Not allowed to load local resource: file:///Users/username/Desktop/datafolder/pics/pic1.png"
这就是我无法看到图像的原因.我可以使用下面的任何解决方案,导致我想要在指定的静态文件夹中提供的图像.
我正在寻找有关如何计算直方图的最大y值的建议.
#simple histogram. how can I obtain the maximum value of, say, x and y?
import matplotlib.pyplot as plt
hdata = randn(500)
x = plt.hist(hdata)
y = plt.hist(hdata, bins=40)
Run Code Online (Sandbox Code Playgroud) 我有一个带数值列的数据框.对于每列,我想计算分位数信息并将每一行分配给其中一行.我试图使用该qcut()
方法返回一个二进制列表,但最终单独计算了二进制数.我认为可能存在,但我找不到它将是一种方法df.to_quintile(num of quantiles)
.这是我想出来的,但我想知道是否有更多的succint/pandas方式来做到这一点.
import pandas as pd
#create a dataframe
df = pd.DataFrame(randn(10, 4), columns=['A', 'B', 'C', 'D'])
def quintile(df, column):
"""
calculate quintiles and assign each sample/column to a quintile
"""
#calculate the quintiles using pandas .quantile() here
quintiles = [df[column].quantile(value) for value in [0.0,0.2,0.4,0.6,0.8]]
quintiles.reverse() #reversing makes the next loop simpler
#function to check membership in quintile to be used with pandas apply
def check_quintile(x, quintiles=quintiles):
for num,level in enumerate(quintiles):
#print number, level, …
Run Code Online (Sandbox Code Playgroud) 我正在使用theme_minimal()
ggplot0.9.3中的优秀发现,它具有白色背景.我想把我的情节标题放在情节右上角的自定义位置.在下面的示例中,我知道x
和y
值,但我想知道是否有传递方法xmax
和ymax
值以确保文本放置在右上角.理想情况下,文本是正确的.
#example plot
p <- qplot(mpg, wt, data = mtcars, colour = cyl)
p + annotate("text", x = 30, y = 5, label = "Custom Title")
#what I would like
p + annotate("text", y= ymax, x =xmax_or_RightJustified)
Run Code Online (Sandbox Code Playgroud) 我有一个非常大的两个类别的散点图,其中一个点是"点击".我想在剧情的顶部和侧面制作直方图来表示点击率,如下面的网站所示:http://blog.mckuhn.de/2009/09/learning-ggplot2-2d-plot-with.html
我可以将图形排列为2×2网格但是我遇到了一个问题:我的主要散点图的y轴有很长的标题(对于项目很重要),在2x2网格中,顶部直方图延伸到整个宽度,是不再沿x轴对齐.
我的想法是制作一个3x3网格,我用最左边的网格作为标题.但是,这需要将Y轴文本保存为"grob".在上面的博客文章中,这实现如下:
p <- qplot(data = mtcars, mpg, hp, geom = "point", colour = cyl)
legend <- p + opts(keep= "legend_box")
Run Code Online (Sandbox Code Playgroud)
这允许将"图例"放入2x2网格布局中.如果我可以使用相同的逻辑为Yaxis标签制作一个单独的grob,我会很好.我至少试过以下内容:
legend <- p +opts(keep="Yaxis")
legend <- p +opts(keep="axis_text_y")
legend <- p +opts(keep="axis_text")
..... and many others
Run Code Online (Sandbox Code Playgroud)
除了传奇盒之外,是否有可能制作出一些东西呢?如果是这样 - 请告诉我.如果没有,我将采取任何建议,如何安排三个图,同时保持它们对齐并保留Y标签.
谢谢
我ggplot2
用来绘制极轴上的许多值的散点图 - coord_polar().生成的图形具有拥挤的文本,因为文本始终与页面底部对齐.是否可以放置文本,使其沿极轴x轴径向打印?
编辑提供一个例子:
qplot(data=presidential, name,end) + coord_polar()
Run Code Online (Sandbox Code Playgroud)
在总统大选中,我希望看到总统的名字与他们所在的轴/轮对齐.下面是我正在处理的图表的示例,其中x轴是分类的,y轴是连续变量(类似于示例).
我一直在使用非常容易拾取的Flask系统开发一个应用程序,我使用了一个jinja模板来写出一堆链接,这些链接对应于Flask中的页面,这些链接由以下内容定义:
@app.route(/<var1>/<var2>)
...
...
Run Code Online (Sandbox Code Playgroud)
在测试服务器中这些链接工作得很好但是当我从测试服务器移动到代理服务器后面的服务器时,我遇到一个问题,其中href链接没有考虑我的代理插入的额外目录名称.
#where a link should read:
server:/myapp/<var1>/<var2>
# it acually puts out:
server:/<var1>/<var2>
Run Code Online (Sandbox Code Playgroud)
我的jinja etemplate看起来像这样,但我想知道是否有一种方法来放置一个指定根目录的变量而不是反斜杠.
{% block navigation %}
{% for record in db.values() %}
<li><a href="/{{db.name}}/{{record.name}}">{{record.name}}</a></li>
{% endfor %}
{% endblock %}
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.谢谢Flask团队!
我正在尝试使用rbind合并许多数据帧.如果我直接调用rbind,则没有问题:
> test <- rbind(x)
> is.data.frame(x)
[1] TRUE
Run Code Online (Sandbox Code Playgroud)
但是,如果我使用do.call
我遇到的问题,我的字符列折叠,数据帧转换为矩阵.
>test <- do.call("rbind", x)
> is.data.frame(test)
[1] FALSE
Run Code Online (Sandbox Code Playgroud)
根据我试过的?rbind文档add stringsAsFactors = FALSE
但没有改变行为.我的数据表看起来像这样:
ID sequence descriptor
1 aaacccttt g12
2 actttgtgt e34
3 tttgggctc b12
4 ccgcgcgcg c12
… … ...
Run Code Online (Sandbox Code Playgroud)
并且rbind输出do.call("rbind", x)
如下所示,但输出如下所示,其中sequence列不再是字符:
ID 363 426 91
Sequence 98 353 100
descriptor g12 b12 c12
Run Code Online (Sandbox Code Playgroud)
我想使用do.call,因为我循环遍历一组数据帧,以便使用下面的脚本合并它们.另一个有用的答案可能提供一个替代解决方案,如何在循环中调用它们时合并多个数据帧.
stringsAsFactors = FALSE
dfs <- as.list(ls(pattern="Data_"))
for (i in 1:length(dfs)) {
x <- get(as.character(dfs[i]))
AllData <- do.call("rbind", x)
} …
Run Code Online (Sandbox Code Playgroud) 我在数据框中有一列,其中的值是字母数字组合,如G1,K8,A132等.我想从数字中拆分字母,但将数字保留为单个数字.我一直在使用strsplit但是这给值的列表,看到下面,我将liek有输出G
和10
:
x <- "G10"
strsplit(x, "")[[1]][1]
"G"
strsplit(x, "")[[1]][-1]
"1" "0"
Run Code Online (Sandbox Code Playgroud)
当我尝试将数字用作数字时,这会导致可预测的下游问题.这是一个paste
我希望得到"somethingelse_10" 的 例子:
z <-strsplit(x, "")[[1]][-1]
paste("somethingelse",z, sep="_")
"somethingelse_1" "somethingelse_0"
Run Code Online (Sandbox Code Playgroud)
有没有一种简单的方法可以从字母中分割数字?
我有一个简单的Python脚本,递归检查一系列n
数字是否是数字的因子x
.如果任何数字不是我返回的因素False
,否则当n==1
我想要返回时True
.但是我一直在回来,NoneType
并希望得到关于如何解决这个问题的建议.
#Function
def recursive_factor_test(x, n):
if n==1:
return True
else:
if x % n == 0:
#print "passed {}".format(n)
recursive_factor_test(x,n-1)
else:
return False
#Example Expecting False
print recursive_factor_test(5041,7)
>>False
#Example Expecting True
print recursive_factor_test(5040,7)
>>None
type(recursive_factor_test(5040,7))
>>NoneType
Run Code Online (Sandbox Code Playgroud)