利用jcvi绘制点图时遇到latex报错

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用jcvi绘制点图时遇到latex报错相关的知识,希望对你有一定的参考价值。

参考技术A 可以直接conda安装,记得在python2的环境下哦,3会报错。

然后将bed进行去重复

最后我们得到了aquatica.uniq.bed和Nepcla.uniq.bed, 根据bed文件第4列就可以用于提取cds序列和蛋白序列。

最后就获得了这些文件

用 jcvi.compara.blastfilter 对结果进行过滤

最后输出aly_ath.blast.filtered用于做图

报错1:
由于服务器里没有这种字体

报错2:

这是由于服务器里面没有这个排版的软件

执行最后一条命令之后会出现下面的选项:
输入 I 然后回车进行安装

参考:

使用 seaborn 点图更改日期格式

【中文标题】使用 seaborn 点图更改日期格式【英文标题】:Date format changed using seaborn pointplot 【发布时间】:2020-10-10 07:03:38 【问题描述】:

当我使用 seaborn 绘制点图时,x 轴上的日期变成了这种奇怪的格式2020-01-06T00:00:00.000000000。在绘制此图之前,“当前年份周结束”列中的日期将转换为 DateTime 对象。我的另一个图表(线图)使用类似的输入和格式,但没有这个问题,日期类似于2020-01-06

有人知道如何解决这个问题吗?

*我在绘图中使用的total_us 数据框和sub 数据框是同一数据集的子集。在创建这两个子集之前,我在那个大数据集上转换了日期。所以total_ussub的'Current Year Week Ending'列中的值应该具有相同的DateTime格式。

#create a pointplot to capture the variability                             
plt.figure(figsize = (8, 6))                                                  
sns.pointplot(x = 'Current Year Week Ending',                                               
              y = 'ASP Current Year', 
              hue ='Type', 
              data = sub, 
              markers=["o", "x"],
              linestyles=["-", "--"])                                
plt.xticks(rotation=45, horizontalalignment='right', fontweight='light', fontsize='medium')
plt.ticklabel_format(style='plain', axis='y')

#create a lineplot 
plt.figure(figsize=(10,7))
sns.lineplot(x='Current Year Week Ending', 
             y='Total Bulk and Bags Units', 
             hue='Type', 
             data = total_us);
plt.xticks(rotation=45, horizontalalignment='right', fontweight='light', fontsize='medium')
plt.ticklabel_format(style='plain', axis='y')

这是sub 的样子,因此“当前年份周结束”列中的值类似于“2020-01-06”。我不知道为什么当我绘制点图时它会改变。

【问题讨论】:

您使用的是两个不同的数据源...索引不同 嗨,苏菲,欢迎来到 SO!一般来说,最好提供Minimal, Reproducible Example 以帮助其他人重现您的问题。 对不起,我应该澄清一下。 total_us 数据帧和子数据帧是同一数据集的子集。在创建这两个子集之前,我在那个大数据集上转换了日期。 @Derek O Int64Index([ 10, 19, 24, 27, 29, 35, 36, 46, 55, 65, ... 1662, 1674, 1679, 1683, 1688, 1692, 1697 , 1707, 1715, 1725], dtype='int64', length=256) for sub.index @ Derek OInt64Index([ 30, 84, 138, 191, 246, 271, 353, 406, 462, 527, 569, 595, 678, 703, 784, 839, 895, 959, 1002, 1067, 1110, 1164, 1217, 1271, 1302, 1355, 1444, 1450, 1556, 1580, 1653, 1687], dtype='int64') for total_us。它们是数据集中的不同子集,因此索引不同。 【参考方案1】:

我认为您的日期列可能只包含这些尾随零,并且 seaborn 会根据情节上有多少空间来处理它。因此,请为您的日期列尝试以下操作:

sub.iloc[:,1] = sub.iloc[:,1].dt.strftime('Y/%m/%d')

如果由于某种原因不能解决问题(也许 seaborn 点图和线图在底层做了一些不同的事情),那么可能的解决方法是将文本 2020-01-06T00:00:00.000000000 拆分为字母 'T' 和之后扔掉尾随的零。我们可以利用sns.pointplot 返回一个matplotlib.Axes 对象(来自documentation)这一事实,将变量 ax 设置为等于您的点图:

ax = sns.pointplot(x = 'Current Year Week Ending',                                               
          y = 'ASP Current Year', 
          hue ='Type', 
          data = sub, 
          markers=["o", "x"],
          linestyles=["-", "--"]) 
ax.set_xticklabels([date_text.get_text().split("T")[0] for date_text in ax.get_xticklabels()])

【讨论】:

以上是关于利用jcvi绘制点图时遇到latex报错的主要内容,如果未能解决你的问题,请参考以下文章

可视化实验十:利用Python绘制棒图散点图

可视化实验十:利用Python绘制棒图散点图

Python实现彩色散点图绘制(利用色带对散点图进行颜色渲染)

power bi怎么做散点图啊?如何利用power bi绘制散点图??

matlab中画散点图时怎样在每个点上标记符号?

利用TikZ 宏包在 LaTeX 中绘制流程图