精华内容
下载资源
问答
  • 今天谭编辑演示JPG曲线图片的数据提取神操作,直播……相信每个科研人都有类似的经历:因为某些原因导致原始数据丢失,论文中只有一张JPG格式的曲线图!然而,在后续投稿过程中,都要求提供原始数据或者具有原始数据...

    谭编辑开直播了!看期刊编辑如何加工稿件中的科学数据图表!曲线图(JPG图片)的数据丢失了怎么办?今天谭编辑演示JPG曲线图片的数据提取神操作,直播……

    相信每个科研人都有类似的经历:因为某些原因导致原始数据丢失,论文中只有一张JPG格式的曲线图!然而,在后续投稿过程中,都要求提供原始数据或者具有原始数据的曲线图(origin图)。遇到这样的事情,是一件非常抓狂的。如果不能提供数据图,作者都会担心投稿后面临质疑或退稿的风险。

    而对于期刊编辑而言,在收到的稿件(甚至是已被录用的稿件)中全部是不可编辑的JPG(或bmp等)图片,而且图片不清晰,编辑在后续的加工、编排过程中经常处于两难的境地(录用还是不录用?录用的话,图片清晰度会影响整个期刊的印刷质量)。

    有时作者认为在word中放大几十倍后的图片是比较清晰的,但是从印刷的要求来看,图片清晰度远远达不到印刷的要求。一般情况下,电脑显示器的分辨率为72或96 dpi,对于96 dpi以上的图片显示都是很清晰的。而印刷的分辨率一般要求在300 dpi以上,这样,人裸眼阅读是非常清晰的。

    因此,无论是作者还是编辑,都需要一种重拾数据的方法。编辑之谭(公众号)为大家推荐一个有用的软件并演示其数据重拾方法。

    下面以一张模糊的热重曲线为例,演示神操作!

    b98b039e37b85c3fcd7f27395e82c721.png

    一、所需软件

    1. GetData Graph Digitizer 2.25,软件大小:1.04 MB(点击底部“好看”、关注“编辑之谭”后,留言并加作者微信,可获得该软件。)

    2. Origin 8.5,软件大小:353 MB (点击底部“好看”、关注“编辑之谭”后,留言并加作者微信,可获得该软件。)

    二、GetData拾取数据

    第一步:设置纵轴、横轴区间

    在GetData软件中打开一张JPG图片,然后点击工具栏的坐标系按钮,出现“Set Xmin”后点击横轴第一个刻度(这里是50),接着出现“Set Xmax”点击横轴中最后一个刻度(这里是800),然后出现“Set Ymin”点击纵轴第一个刻度(这里是60),最后出现“Set Ymax”点击纵轴最后一个刻度(这里是100)。设置好这4点后会弹出一个对话框,一般直接确定,除非操作图片中刻度值是Log或ln的,需要勾选。

    f0782c4ca55bd1542a3588b4a068adf6.gif

    第二步:拾取曲线

    这里有两种:手动(Point capture mode,第8个按钮)、自动(Auto trace lines,第6个按钮)

    首先演示手动拾取:

    52967f5c22bc57159611b3333107fd22.gif

    再演示自动拾取:

    自动拾取时,会出现跳点(见下面的动图中几条直线的连接处),但不用理会,跳点都还在曲线上,只不过在数据表(右边的数据表)的数据并不是按照X自变量依次增大的,只需要点击数据表的X标题进行排序(点击一次正序,再点一次是倒序)。

    70f84899693740cc5f6f842ad9d56063.gif

    三、Origin绘制曲线

    从右侧数据表的第一格,点击鼠标往右下方拖动全选两列数据,按Ctrl+c复制,然后打开Origin软件,新建数据表并Ctrl+v粘贴数据。全选两列数据,点击线性绘图。这里对比了自动拾取(Graph1)和手动拾取(Graph2)的绘图效果。自动拾取的曲线基本不用修饰就是平滑的曲线。而手动拾取的曲线比较粗糙,此时双击曲线,修改Line标签页的Connect下拉框中的B-Spline,即可平滑曲线,对比修饰后的手动曲线和自动拾取曲线,基本吻合。

    5fd170da2b592c514deb27ff9aa97cad.gif

    最终的数据图效果对比如下:

    fdfa4e369f933727cd67b898f610e2d9.png

    完美,怎么样?这个神操作,您值得拥有!请关注我的“编辑之谭”公众号!天天演示神级操作!

    不知不觉,已至半夜,感谢您点击下方的“好看”,分享或转发朋友圈、微信群,让更多朋友get“编辑之谭”公众号的神操作。

    转载的朋友,可在“编辑之谭”公众号里留言开启白名单。

    8317351caf08f5a69720824a9e0db003.png

    展开全文
  • “数”说数据丢失

    2020-03-03 18:28:40
    为通过一些统计分析来佐证数据丢失的严重性,本文着重使用通过 Open Security Foundation 的 Data Loss Database 或 DataLossDB 获取的原始数据。这些数据被认为是准确、最新和恰当的。我们分析了这些数据,并应用了...
  • 最初为数据挖掘准备的所有原始数据集通常很大,它们中的许多都和人有关,且比较杂乱。 初始数据集应包含丢失值,失真,误记录和不正当样本等。要得到高质量的数据,必须在分析者看到它们之前,先整理和预处理数据,...

    最初为数据挖掘准备的所有原始数据集通常很大,它们中的许多都和人有关,且比较杂乱。


    初始数据集应包含丢失值,失真,误记录和不正当样本等。要得到高质量的数据,必须在分析者看到它们之前,先整理和预处理数据,使其就像设计合理,准备充分的数据仓库中的数据一样。


    杂乱数据的来源和含义。数据杂乱的原因如下:

        1、数据丢失的原因包括测量或者记录出错,有时候都无法获得数据值。在数据建模处理此问题时,必须能根据已有的数据甚至丢失的数据来建模。

        2、数据的误记录,这在大数据集中非常常见。我们必须有能发现这些“异常”值的机制,某些情况下,甚至要用这些机制消除“异常”值对最终结果的影响

        3、数据可能并不来自假定的样本母体。这里异常点就是典型的例子,分析人员要对它们进行仔细的分析,才能决定是将它们作为异常,从数据挖掘中剔除,还是将它们保留为所研究的样本母体的不寻常样本。


    对于现代的大型数据集来说,必须依赖计算机程序来自动检查数据。


    失真数据,方法上错误的步骤选择,滥用数据挖掘工具,模型过于理想化,未考虑数据中各种不确定性和模糊性的模型-所有这些都可能在数据挖掘过程中导致方向错误。因此,数据挖掘不只是简单地对已知问题应用一系列工具,而是一个批判性的鉴定,考查,检验和评估过程。数据在本质上应该是定义明确的,一致的和非易失性的。数据量要足够大,以支持数据分析,查询,汇报以及与长期历史数据进行比较。


    数据挖掘过程中一个最关键的步骤是初始数据集的准备和转换。


    原始数据并不总是能进行数据挖掘的最佳数据集,要对其进行许多转换,才能产生对所选的数据挖掘方法更有用的特征。


    用不同的方式计算,采用不同的样本大小,选择重要的比率,针对时间相关数据改变数据窗口的大小,包活移动平均数的变化——所有这些都可能有助于获得更好的数据挖掘结果。



    在数据挖掘应用的现实世界中,形势恰恰相反。数据准备比应用数据挖掘方法更加的耗时耗力。


    数据准备阶段有两个中心任务:

     1、把数据组织成一种标准形式,以便于数据挖掘工具和其他基于计算机的工具处理

     2、准备数据集,使其能得到最佳的数据挖掘效果。


    展开全文
  • 问题是收到的文件总是比原始文件少大约0.01 MB.因此mp3文件丢失了一些信息,视频文件就无法播放.我在服务器和放大器的while循环中放了一些prinln语句.客户.我发现我的服务器没有发送整个文件./...

    我有一个FileServer和一个FileClient,服务器在客户端连接时发送文件.这是一个简单的程序,只是为了理解背后的概念.

    我能够将文件从Server发送到Client,缓冲区为1024.

    问题是收到的文件总是比原始文件少大约0.01 MB.因此mp3文件丢失了一些信息,视频文件就无法播放.

    我在服务器和放大器的while循环中放了一些prinln语句.客户.我发现我的服务器没有发送整个文件.

    //Server

    byte [] mybytearray = new byte [1024];

    FileInputStream fis = new FileInputStream(myFile);

    BufferedInputStream bis = new BufferedInputStream(fis);

    bis.read(mybytearray,0,mybytearray.length);

    OutputStream os = sock.getOutputStream();

    System.out.println("Sending...\n mybytearray length:"+mybytearray.length+"file length:"+(int)myFile.length());

    int read, readTotal=0;

    while ((read = fis.read(mybytearray,0,mybytearray.length)) != -1) {

    os.write(mybytearray, 0, read);

    System.out.println("File REad:"+read+"readtotal:"+readTotal); //*

    readTotal += read;

    }

    System.out.println("Final File Read:"+read+" Final readtotal:"+readTotal);

    os.flush();

    sock.close();

    }

    Println语句输出为:

    Sending...

    mybytearray length:1024file length:12767554

    File REad:1024readtotal:0

    File REad:1024readtotal:1024

    .............and a lot of it...and then

    File REad:1024readtotal:12756992

    File REad:1024readtotal:12758016

    File REad:322readtotal:12759040

    Final File Read:-1 Final readtotal:12759362

    文件长度:12767554&最后阅读总数:12759362 shud相等.我不明白为什么最后一个读数值较低[322],而它仍然可以有1024.

    任何形式的帮助都值得赞赏.

    谢谢.

    [编辑]

    //Client

    int read;

    int totalRead = 0;

    while ((read = is.read(mybytearray,0,mybytearray.length)) != -1) {

    bos.write(mybytearray, 0 , read);

    totalRead += read;

    System.out.println("\nread:"+read+"\ntotalread: "+totalRead);

    }

    System.out.println("Final File Read:"+read+" Final readtotal:"+totalRead);

    bos.write(mybytearray, 0 , read); //57 Line in FileClient.java

    bos.flush();

    我再次尝试发送文件.这次是一个txt.

    这是我服务器的输出

    Sending...

    mybytearray length:1024file length:1232

    File REad:1024readtotal:0

    File REad:208readtotal:1024

    Final File Read:-1 Final readtotal:1232

    这个客户端

    read:208

    totalread: 1232

    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException

    Final File Read:-1 Final readtotal:1232

    at java.lang.System.arraycopy(Native Method)

    at java.io.BufferedOutputStream.write(Unknown Source)

    at FileClient.main(FileClient.java:57)

    readtotal值是相同的,但有时我得到这个错误,有时我没有.

    [大编辑 – 完整的客户代码]

    public class FileClient{

    public static void main (String [] args ) throws IOException {

    long start = System.currentTimeMillis();

    int bytesRead;

    int current = 0;

    final JFrame f = new JFrame("Sample");

    f.getContentPane().setLayout(new FlowLayout());

    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    f.setSize(590,490);

    f.setVisible(true);

    // localhost for testing

    Socket sock = new Socket("localhost",13267);

    System.out.println("Connecting...");

    File f1=new File(RecieveObject(sock));

    // receive file

    byte [] mybytearray = new byte [1024];

    InputStream is = sock.getInputStream();

    FileOutputStream fos = new FileOutputStream(f1);

    ProgressMonitorInputStream nn= new ProgressMonitorInputStream(f,"reading",is);

    BufferedOutputStream bos = new BufferedOutputStream(fos);

    /* bytesRead = is.read(mybytearray,0,mybytearray.length);

    current = bytesRead;

    do {

    bytesRead =

    is.read(mybytearray, current, (mybytearray.length-current));

    System.out.println("mybytesarray length: "+mybytearray.length+"\ncurrent:"+current+"\nbytesread: "+bytesRead);

    if(bytesRead >= 0) current += bytesRead;

    } while(bytesRead > -1);

    bos.write(mybytearray, 0 , current);

    bos.flush();

    */

    int read;

    int totalRead = 0;

    //InputStream clientInputStream = clientSocket.getInputStream();

    while ((read = is.read(mybytearray,0,mybytearray.length)) != -1) {

    bos.write(mybytearray, 0 , read);

    totalRead += read;

    System.out.println("\nread:"+read+"\ntotalread: "+totalRead);

    }

    System.out.println("Final File Read:"+read+" Final readtotal:"+totalRead);

    // bos.write(mybytearray, 0 , read);

    bos.flush();

    long end = System.currentTimeMillis();

    System.out.println(end-start);

    bos.close();

    sock.close();

    }

    public static String RecieveObject(Socket s) {

    String str = null;

    try{

    ObjectInputStream is = new ObjectInputStream(s.getInputStream());

    str =(String)is.readUTF();

    }

    catch(IOException ex){}

    return str;

    }

    }

    展开全文
  • 在进行串口通信时由于串口接受的数据为16进制数、在界面传输到串口时候是以QString类型传输、进行转换16进制就是以十进制转换成16进制、可以传输成功、但是没一次9-10 19-20 99-100 等就会出现数据丢失、所以进行...
    1. 在进行串口通信时由于串口接受的数据为16进制数
      在界面传输到串口时候是以QString类型传输、进行转换16进制就是以十进制转换成16进制、可以传输成功、但是没一次9-10 19-20 99-100等就会出现数据丢失、所以进行通信时、可以直接将数据累加成16进制、然后再进行传输,就不会出现丢失数据的情况了。

      将数据进行16进制加减计算。
      int _value=0;
      _value++;
      QString _str=“0” //当前数据为原始数据
      int dec = str.toUInt(&ok, 16);
      QString tmp = QString("%1").arg(0 + _value, 4, 16, QLatin1Char(‘0’));
      qDebug()<<tmp ;

      tem就是当前计算出的结果;
      //可以输出 0 1 2 3 4 5 6 7 8 9 a b c d e f 10 等连续的16进制数

    展开全文
  • MySQL 5.7MacOS Sirrea 10.12.1前言很简单,我得文件里面20w数据,导入MySQL后只剩下16w条数据,无Deleted无Skipped排查方法既然数据丢失了,那把成表后的数据全部导出,然后和原始的数据进行对比验证select * from ...
  • 从曲线图中提取原始数据

    千次阅读 2019-04-05 20:45:00
    转自:原创2017-04-16Summer生物...当你手头有幅图,但原始数据已经丢失,而你又需要原始数据时,你该怎么办?当你查阅文献时,发现一幅曲线图只有图像没有具体数据时,又该怎么办? 今天就来介绍两款软件——GetD...
  • 解决:MySQL Load Data数据丢失问题

    千次阅读 2017-07-13 20:57:40
    MySQL 5.7 MacOS Sirrea 10.12.1前言 很简单,我得文件里面... 既然数据丢失了,那把成表后的数据全部导出,然后和原始的数据进行对比验证 select * from db.table INTO OUTFILE '/usr/local/mysql-5.7.18-macos10.1
  • 最近做数据备份的时候发现了有个很严重的问题,那就是数据丢失(最后证明没丢,是别的问题造成的)。问题如下:我通过两种方式在两个mongoDB集群中,对一组collection进行备份,最后2个备份数据的数据个数不相同,并且...
  • php数据丢失的解决办法:首先查看表单提交请求完整性;然后查看请求数据是否超过php或nginx限制;接着直接通过“file_get_contents('php://input')”获取原始请求数据;最后修改max_input_var数量。PHP 表单提交的...
  • MySQL 5.7MacOS Sirrea 10.12.1前言很简单,我得文件里面20w数据,导入MySQL后只剩下16w条数据,无Deleted无Skipped排查方法既然数据丢失了,那把成表后的数据全部导出,然后和原始的数据进行对比验证select * from ...
  • 原因是从SharedPreferences获取的数据,我们操作这个数据,并不会真的改变SharedPreferences里存储的原始数据,解决办法见下链接: http://blog.csdn.net/x635981012/article/details/50373173 内容: public ...
  • 最近做数据备份的时候发现了有个很严重的问题,那就是数据丢失(最后证明没丢,是别的问题造成的)。 问题如下: 我通过两种方式在两个mongoDB集群中,对一组collection进行备份,最后2个备份数据的数据个数不相同...
  • 当你手头有幅图,但原始数据已经丢失,而你又需要原始数据时,你该怎么办?当你查阅文献时,发现一幅曲线图只有图像没有具体数据时,又该怎么办?今天就来介绍两款软件——GetData Graph Digitizer 和 OriginPro,...
  • 概述:北京某国企客户 Oracle 11g R2 数据库误truncate table CM_CHECK_ITEM_HIS,表数据丢失,业务查询到该表时报错,此时发现数据库的备份不能用,表数据无法查询。 客户Oracle 11g R2 数据库误truncate table CM...
  • C语言 fwrite 覆盖文件原始数据问题

    千次阅读 2017-04-21 10:25:36
    最近在整项目时发现向文件中嵌入数据时,数据丢失,但是server端明明写入成功了,但是client端在接收时显示原来应该有数据的位置,什么都没有。期初怀疑是后来的数据覆盖了前面写入的数据,结果经过diff返现,应该...
  • 运用插值的方法差补采样数据中丢失的数据点,怎么解决数据的连续性的问题?怎么尽可能拟合原始数据的形态?
  • 无论您将macOS安装到原始启动磁盘还是其他数据驱动器上,都将导致数据丢失。今天分享的就是安装macOS后如何恢复丢失的数据的方法。 安装macOS后如何从启动磁盘恢复丢失的数据? TogetherShare macOS数据恢复软件...
  • 从数据录入,数据导出两方面进行排查,发现是录入的时候easy-poi解析出了问题(排查方式也很简单,查看数据库原始数据) 解决方案 方案一:从easy-poi中间件本身入手,在execl-->Object阶段进行校验 方案二:在...
  • 为了保留原始用户数据,这里提供一种解决办法:将4t硬盘外接,用ubuntu系统的电脑挂载这个4t硬盘,然后利用Gparted分区工具对4t硬盘重新划分分区大小,腾出新的分区,再将系统装在新的分区里面,即可保留原始用户...
  • 使用iframe时Session重新生成的导致数据丢失的问题 ( by quqi99 ) 作者:张华 发表于:2007-10-12 ( http://blog.csdn.net/quqi99 )版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息...
  • 存储器是现代信息技术中用于保存信息的记忆设备 ,它采用具有两种稳定状态的物理器件来存储信息,这些...计算机中全部信息,包括输入的原始数据、计算机程序、中间运行结果和最终运行结果都保存在存储器中。它根据...
  • 如果原始用户无法恢复加密的数据(例如,该用户已离开公司),您需要一种数据恢复方法,以便公司能够继续使用这些数据。本节描述了如何恢复加密的文件或文件夹。为此,需要使用备份工具,把用户的加密文件或文件夹...
  • (一)前言 ...这个方法的确可以实现前端拿到的数据不出现精度丢失问题,但是再浏览器中的Preview上查看数据还是一个丢失的错误数据,这个是因为浏览器它用的还是自己原始的那个json parse方法 (二) 案...
  • 无论您将macOS安装到原始启动磁盘还是其他数据驱动器上,都将导致数据丢失。今天分享的就是安装macOS后如何恢复丢失的数据的方法。 安装macOS后如何从启动磁盘恢复丢失的数据? TogetherShare macOS数据恢复软件...
  • 服务器数据恢复方案1、服务器硬盘镜像为防止数据恢复过程中由于误操作对原始磁盘造成二次破坏,所有数据恢复操作开始前必须对每块磁盘做镜像备份,所有数据恢复操作仅限于对镜像文件进行,不可对原盘做任何操作。...
  • 服务器数据恢复方案1、服务器硬盘镜像为防止数据恢复过程中由于误操作对原始磁盘造成二次破坏,所有数据恢复操作开始前必须对每块磁盘做镜像备份,所有数据恢复操作仅限于对镜像文件进行,不可对原盘做任何操作。...
  • 如上图,A列为原始内容,要将它们复制到C列,且重复内容只保留1次。公式思路一:首先获取数字第一次出现的行号,再将他们做为INDEX或者OFFSET函数的第二参数。获取数据第一次出现的行号,可以使用match或者frequency...
  • 问题分析进一步拿到原始文件后,找到那条数据。用vim打开发现其中有个地方有两个空格。起初以为是乱码(之前flume出过乱码中断的问题),贴到ide里面,得到具体编码,发现是四字节的utf-8编码。贴到
  • 题目:一个大小为n的数组,元素范围为1-n,但是其中一些数组有重复,同时另一些数据丢失了。 现在要求找出其中的重复数据和丢失的数据。 要求:但是面试官要求优化到时间O(n),空间O(1) 即,只能遍历常数次数组,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,079
精华内容 431
关键字:

原始数据丢失